2010-08-23 194 views
0
new google.maps.event.addListener(marker, 'click', function() { 
    infowindow.close(map, marker); //the code is not working.. 
    infowindow.open(map, marker); 
}) 

回答

3

将所有信息窗口存储在一个数组中。并使用以下功能关闭当前打开的窗口。

即:

var infoWindow = new google.maps.InfoWindow; 

infoWindowArray.push(infoWindow); 


function resetInfoWindow(){ 
    if(infoWindowArray){ 
     for(i in infoWindowArray){ 
      infoWindowArray[i].close(); 
     } 
    } 
} 

调用函数resetInfoWindow()这样的:

google.maps.event.addListener(marker, 'click', function() { 
     resetInfoWindow(); 
     infoWindow.setContent(str1); 
     infoWindow.open(map, marker); 
    });