据我所知,如果地图上有多个标记,并且需要处理它们的点击,则必须为每个标记设置一个处理程序,如下所示:
// ...
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);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)