我有一组对象(卡片),其中包含latitude
,longitude
和for(var c = 0; c < cards.length; c++)
{
var id = cards[c]["id"];
var lat = cards[c]["lat"];
var lon = cards[c]["lon"];
var marker = new google.maps.Marker({ position: new google.maps.LatLng(lat, lon)});
marker.setMap(map);
marker.addListener('click', function(){
myListenerCallback(id);
});
}
。然后,我正在构建一系列标记以附加到GoogleMap地图:
.addListener
在每个标记上,我想在click事件上附加回调。使用标记的myListenerCallback(id)
方法可以很容易地完成。问题是,我想触发一个回调,其中包括卡的id(作为输入参数):builder.setAutoCancel(true)
。看起来所有的回调都是使用数组的最后一个id来触发的。如何触发传递相应ID的回调?
答案 0 :(得分:1)
cards.forEach(function(card){
var id = card["id"];
var lat = card["lat"];
var lon = card["lon"];
var marker = new google.maps.Marker({ position: new google.maps.LatLng(lat, lon)});
marker.setMap(map);
marker.addListener('click', function(){
myListenerCallback(id);
});
});
请参阅重复的帖子以获取说明...