Javascript 谷歌地图v3事件点击周期
我的脚本有问题,有人能帮我吗Javascript 谷歌地图v3事件点击周期,javascript,jquery,events,google-maps,google-maps-api-3,Javascript,Jquery,Events,Google Maps,Google Maps Api 3,我的脚本有问题,有人能帮我吗 //Add event to google maps click => open marker.infobox for(var marker in markersWithArray){ var lastInfoWindow; //Get lastInfoWindow for close google maps infowindow var markerI = markersWithArray[marker]; //Get ma
//Add event to google maps click => open marker.infobox
for(var marker in markersWithArray){
var lastInfoWindow; //Get lastInfoWindow for close google maps infowindow
var markerI = markersWithArray[marker]; //Get marker from loop
var infoWindow = markerI.infoWindow; //get infoWindow from marker, work prefectly
console.log(infoWindow) // => all time good, object with
// info box. All time unique id and content.
google.maps.event.addListener(markerI, 'click', function() {
console.log(infoWindow); //Problem here, object too, but id and content have
//a last value what recorded on top (console.log)
//last value of cycle
if(lastInfoWindow)
lastInfoWindow.close();
infoWindow.open(map, this);
lastInfoWindow = infoWindow;
});
}
谁能告诉我如何在事件“google.maps.event.addListener”的循环中获取值??
Thx:)。如果您的标记有一个信息窗口作为属性(我不认为它是一个有文档记录的属性,但您的问题表明它存在),这应该可以:
google.maps.event.addListener(markerI, 'click', function() {
console.log(this.infoWindow);
if(lastInfoWindow)
lastInfoWindow.close();
this.infoWindow.open(map, this);
lastInfoWindow = this.infoWindow;
});
当您执行
var lastInfoWindow时;marker=
您意识到您只是重写了全局marker变量,对吗?我想你的意思是把,
放在lastInfoWindow
后面,而不是代码>marker=markersWithArray[marker]代码>可能也是一个问题。尝试混合变量名,不要一直使用相同的marker
哇,这是快速ans。是的,我想将变量var marker重写为对象中的真实标记。我是更新解决方案,但同样的问题我爱你,我的宝贝:D。我不能得到u+1,但非常感谢你:D