底下的是Google提供的符號樣式,只會挑『google.maps.SymbolPath.CIRCLE』以及『google.maps.SymbolPath.BACKWARD_CLOSED_ARROW』來作為示範
名稱 | 說明 |
---|---|
google.maps.SymbolPath.CIRCLE | |
google.maps.SymbolPath.BACKWARD_CLOSED_ARROW | |
google.maps.SymbolPath.FORWARD_CLOSED_ARROW | |
google.maps.SymbolPath.BACKWARD_OPEN_ARROW | |
google.maps.SymbolPath.FORWARD_OPEN_ARROW |
HTML:
<!DOCTYPE html> <html lang="zh-tw"> <head> <meta charset="utf-8" /> <meta name="viewport" content="initial-scale=1.0, user-scalable=no" /> <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script> <script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?key=key number&sensor=false®ion=zh-tw"></script> <script type="text/javascript" src="./Script.js"></script> <style type="text/css"> html { height: 100% } body { height: 100%; margin: 0; padding: 0 } #map { height: 95% ; width: 100% } #address { width:40% } </style> </head> <body onload = "initialize()" > <div id="map"></div> <div id = "panel"> <label>地址:</label> <input id="address" value="高雄市燕巢區橫山路59號"> <button onclick="btnClick()">標記</button> </div> </body> </html>
JavaScript:
var map; function initialize() { var mapOptions = { zoom: 15, center: new google.maps.LatLng(22.76758770, 120.37921390), mapTypeId: google.maps.MapTypeId.ROADMAP } map = new google.maps.Map(document.getElementById("map"), mapOptions); }; function btnClick(){ if (address.value.length >= 1) { $.ajax({ type: "post", dataType: "json", url: "https://maps.googleapis.com/maps/api/geocode/json?address=" + address.value + "&sensor=false&language=zh-tw", success: function (data) { if (data.status == "OK") { var location = new google.maps.LatLng(data.results[0].geometry.location.lat, data.results[0].geometry.location.lng); var mapOptions = { zoom: 16, center: location, mapTypeId: google.maps.MapTypeId.ROADMAP } map = new google.maps.Map(document.getElementById("map"), mapOptions); var mySymbol = { path: google.maps.SymbolPath.BACKWARD_CLOSED_ARROW, scale: 5, fillOpacity: 0.0 }; var marker = new google.maps.Marker({ position: location, map: map, icon: mySymbol }); } else { alert("沒有地圖資料"); } }, error: function () { alert("資料錯誤"); } }); } };
可以看得到該圓顯示在地圖上,而不是常見的標籤
那我們來換一下標示,用『google.maps.SymbolPath.BACKWARD_CLOSED_ARROW』來顯示,並且旋轉90度
google.maps.SymbolPath.BACKWARD_CLOSED_ARROW |
旋轉只要在mySymbol,加入『rotation:90』
var mySymbol = { path: google.maps.SymbolPath.BACKWARD_CLOSED_ARROW, scale: 5, fillOpacity: 0.0, rotation: 90 };
參考資料:
https://developers.google.com/maps/documentation/javascript/overlays?hl=zh-tw#Symbols
https://developers.google.com/maps/documentation/javascript/reference?hl=zh-tw#SymbolPath