單擊標記(單擊事件)時如何更改標記圖標,並在單擊另一個標記時將其返回到正常圖標?Google Maps API v3,點擊時如何更改標記圖標
回答
我還沒有測試過這段代碼,所以可能會出現拼寫錯誤或錯誤,但它應該給你提供這個想法。
首先,定義一個回調來設置所有標記爲正常圖標(重置任何先前點擊標記)和當前點擊的標記的圖標設定爲所選擇的圖標:
var markerCallback = function() {
for (var i=0; i<arrayOfMarkers.length; i++) {
arrayOfMarkers[i].setIcon(normalIcon);
}
this.setIcon(selectedIcon);
}
然後,分配回調每個標記上的點擊事件如下所示:
google.maps.event.addListener(marker, 'click', markerCallback);
確實有一些代碼可以改進。例如,您可能不希望normalIcon
,selectedIcon
和arrayOfMarkers
成爲上述代碼假定它們的全局變量。如果您有很多標記,則可能需要跟蹤之前選定的標記,而不是讓for
循環重置每個標記上的圖標。
但正如我所說,這應該給你的想法。
只需在任何情況下,任何人都希望看到跟蹤上一個標記的全局變量像卡斯帕提到,這裏的一個例子是我做過什麼:
google.maps.event.addListener(marker,'click',function() {
if (selectedMarker) {
selectedMarker.setIcon(normalIcon);
}
marker.setIcon(selectedIcon);
selectedMarker = marker;
});
(後設置selectedMarker作爲一個全局變量)
謝謝!它的工作:) – VishwaKumar 2012-05-16 11:53:25
需要我的情況下的一些變化,但想法是超級乾淨的人,謝謝 – vaskort 2015-11-26 14:43:40
優秀的人,你提供了最好的解決方案 – Devz 2016-02-15 16:10:51
- 1. Google Maps API v3:如何動態更改標記圖標?
- 2. 在Google Maps API V3中單擊更改KML地標圖標
- 3. Google Maps API v3,刪除標記圖標或更改爲「空白」?
- 4. Google Maps API(v3)添加/更新標記
- 5. Google Maps API v3添加地圖標記
- 6. 如何在google javascript maps api v3中更改標記位置?
- 7. 如何在google maps api v3中創建可點擊的圖標?
- 8. Google Maps API v3標記座標
- 9. 如何更改Google Maps API V3中的圖標顏色?
- 10. 隱藏標記Google Maps API v3,點擊一下
- 11. 使用Google Maps API v3模擬點擊帶KML的標記
- 12. 標記不會觸發點擊事件 - Google Maps JavaScript API V3
- 13. Google Maps API v3多個可點擊標記
- 14. Google Maps Api v3:如何更改Directions(set)面板中的默認航點標記?
- 15. 如何在Google Maps API v3中將標記添加到標記
- 16. 多標記問題(Google Maps API v3)
- 17. 刷新標記 - Google Maps JavaScript API v3
- 18. Google Maps API v3多個標記Infowindow
- 19. Google Maps JavaScript API v3的標記
- 20. 刪除標記 - Google Maps JavaScript API v3
- 21. Google Maps JS API v3標記顏色
- 22. Google Maps API V3上的限制標記
- 23. 未顯示Google Maps API v3標記
- 24. Google Maps API V3標記不加載
- 25. Google Maps API v3:標記未被刪除
- 26. Google Maps API v3禁用標記
- 27. 在Google Maps API V3中繪製標記
- 28. 標記拖拽事件Google Maps API V3
- 29. Google Maps API v3無法創建標記...
- 30. Google Maps API v3 SVG標記消失
將是一個更容易簡單地將當前選中標記分配給一個全局變量,而不是通過所有標記每次:) – 2011-06-12 17:49:21
@Kasper運行:是的,你是正確的,這將是更好! (在我的辯護中,我提到了這個問題:「如果你有很多標記,你可能想跟蹤上一個選定的標記,而不是在每個標記上都有一個'for'循環重置圖標。 「) – Trott 2011-06-12 18:46:43
我確實很抱歉,我完全錯過了那部分。只專注於代碼示例:D – 2011-06-12 23:35:38