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