我使用谷歌地图api为我的个人网络照片库。 对于每个具有gps坐标的图片,我在地图上添加了一个Maker对象,并且当我用鼠标点击标记时,该标记与该标记关联以显示缩略图。
我的问题: 单击其他标记时如何自动关闭InfoWindows? 换句话说,当我点击一个标记时,我想关闭之前打开的所有其他InfoWindows。
您可以在此处查看一些测试:http://avbo7291.o2switch.net/outils/test-google-map-api.html
感谢您的帮助
答案 0 :(得分:1)
您可以使用InfoWindow的单个实例,只需在标记点击上设置新内容,如下所示:
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);
});
然后,您可以将点击事件附加到地图本身以关闭此信息页:
google.maps.event.addListener(map, 'click', function(){
infowindow.close();
});