今天又看了下官網,發現官網上有地圖標記的詳細說明。當時竟然眼瞎看不見,還琢磨了很久...#$%^&,必定是項目太急,沒看到(^o^)/~
地址:https://developers.google.com...javascript
google.maps.Marker
的構造函數只需傳入一個 MarkerOptions
對象字面量,用於指定標記的初始屬性。html
如下字段特別重要,而且在構建標記時一般會進行設置:java
position
(必填)指定用於標識標記的初始位置的 LatLng。 map(可選)指定用來放置標記的segmentfault
Map
。若是您在構建標記時未指定地圖,則標記會被建立,但不會附加到(或顯示在)地圖上。您之後能夠經過調用標記的 setMap() 方法來添加標記。數組
如下示例將一個簡單的標記添加到烏魯魯(位於澳大利亞的中心)的地圖上:函數
function initMap() { var myLatLng = {lat: -25.363, lng: 131.044}; var map = new google.maps.Map(document.getElementById('map'), { zoom: 4, center: myLatLng }); var marker = new google.maps.Marker({ position: myLatLng, map: map, }); }
在以上示例中,在構建標記時使用了 MarkerOptions
中的 map 屬性將該標記放置在地圖上。或者,您也能夠直接使用標記的 setMap()
方法將該標記添加到地圖上,如如下示例中所示:動畫
var myLatlng = new google.maps.LatLng(-25.363882,131.044922); var mapOptions = { zoom: 4, center: myLatlng } var map = new google.maps.Map(document.getElementById("map"), mapOptions); var marker = new google.maps.Marker({ position: myLatlng, }); // To add the marker to the map, call setMap(); marker.setMap(map);
要從地圖上移除標記,請調用 setMap()
方法並傳遞 null
做爲自變量。google
marker.setMap(null);
請注意,上述方法並不會刪除該標記。
它只是將該標記從地圖上移除。若是您是想刪除該標記,則應該從地圖上移除它,而後將該標記自己設置爲 null
。code
若是您但願管理一組標記,則應該建立一個數組來保存這些標記。使用此數組,您就能夠依次對數組中的每一個標記調用 setMap()
來移除這些標記。您也能夠刪除這些標記,只需先將其從地圖上移除,而後將數組的 length
設置爲 0,這將移除這些標記的全部引用。htm
也能夠參考上一篇文章,谷歌地圖API 開發 之 添加標記 其實跟官網的基本原理也是同樣的。
您能夠經過動畫的方式呈現標記,以便它們可以在各類不一樣的狀況下展示出動態移動的效果。要指定某個標記的動畫呈現方式,請使用該標記的 animation
屬性,其類型爲 google.maps.Animation
。可支持如下 Animation
值:
DROP
表示第一次將該標記放置在地圖上時,該標記應該從地圖頂部下落到其最終位置。一旦標記中止移動,動畫即中止,而且 animation
將還原爲 null
。在建立 Marker
時,一般會指定這種類型的動畫。
BOUNCE
表示該標記應該在原地彈跳。彈跳標記將持續彈跳,直到其 animation
屬性顯式設置爲 null
。
您能夠經過對 Marker
對象調用 setAnimation()
來對現有標記啓動動畫。
var marker; function initMap() { var map = new google.maps.Map(document.getElementById('map'), { zoom: 13, center: {lat: 59.325, lng: 18.070} }); marker = new google.maps.Marker({ map: map, draggable: true, //marker 設爲 可拖動 animation: google.maps.Animation.DROP, //動畫屬性設爲DROP position: {lat: 59.327, lng: 18.067} }); marker.addListener('click', toggleBounce); //監聽marker點擊時執行togglerBounce方法切換動畫屬性 } function toggleBounce() { if (marker.getAnimation() !== null) { marker.setAnimation(null); } else { marker.setAnimation(google.maps.Animation.BOUNCE); } }
查看示例 (marker-animations.html)。
在最基本的狀況下,圖標能夠簡單地表示一個要代替默認的 Google Maps
圖釘圖標的圖像。要指定這樣的圖標,請將標記的 icon
屬性設置爲某個圖像的 URL
。Google Maps API 將自動調整圖標大小。
function initMap() { var map = new google.maps.Map(document.getElementById('map'), { zoom: 4, center: {lat: -33, lng: 151} }); var image = 'images/beachflag.png'; var beachMarker = new google.maps.Marker({ position: {lat: -33.890, lng: 151.274}, map: map, icon: image //圖標 }); }
好了,谷歌添加標記的就整理這麼多,想深刻研究的小夥伴能夠第一行的官網查看下。而後要開始今天的重要內容 如何獲取當前點擊的座標以及城市街道地址,寫到下一篇。