[英]How do I make a single event handler for all markers in Google Maps V3?
我了解如果我在地圖上有多個標記,並且需要處理它們的點擊,則必須為每個標記設置一個處理程序,如下所示:
// ...
var marker = new google.maps.Marker({position: new google.maps.LatLng(55, 37)});
marker.setMap(map);
var listener = google.maps.event.addListener(marker, 'click', function(event){
// my listener handler here
});
但是,如果我有很多標記,蜜蜂會不會太重? 我能以某種方式設置一個處理程序並弄清楚其中單擊了哪個標記嗎?
做到我想要的方式是不可能的,這是真的。 但是我找到了另一種方式來做,這比每個標記都有一個處理程序要好得多。 對我來說應該是顯而易見的,但事實並非如此:
function markerHandler(event){
window.console.log(this);
// 'this' variable is the marker that has been clicked
}
var marker = new google.maps.Marker({position: new google.maps.LatLng(55, 37)});
marker.setMap(map);
var listener = google.maps.event.addListener(marker, 'click', markerHandler);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.