2013-02-19 61 views
0

我使用google map api作爲我的個人web照片庫。 對於每個帶有gps座標的圖片,我在地圖上添加一個Maker對象,並在與該標記關聯的InfoWindows對象上顯示縮略圖,當我用鼠標點擊該標記時。如何自動關閉InfoWindows

我的問題: 如何在我點擊其他標記時自動關閉InfoWindows? 換句話說,當我點擊一個標記時,我想關閉之前打開的所有其他InfoWindows。

你可以看到一些測試,在這裏:http://avbo7291.o2switch.net/outils/test-google-map-api.html

感謝您的幫助

回答

1

您可以使用信息窗口的單一實例和剛剛成立的新內容上的標記點擊像這樣:

var infowindow = new google.maps.InfoWindow(); 

google.maps.event.addListener(marker1, 'click', function() { 
    infowindow.setContent("Hello World 1 !"); 
    infowindow.open(map, this); 
}); 

google.maps.event.addListener(marker2, 'click', function() { 
    infowindow.setContent("Hello World 2 !"); 
    infowindow.open(map, this); 
}); 

然後你可以附加一個點擊事件到地圖本身來關閉這個infowindow:

google.maps.event.addListener(map, 'click', function(){ 
    infowindow.close(); 
}); 
+0

謝謝,它的作品完美! – vincent3569 2013-02-19 19:46:48