簡體   English   中英

如何為Google Maps V3中的所有標記創建一個事件處理程序?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM