如何自动关闭InfoWindows

时间:2013-02-19 19:06:11

标签: google-maps google-maps-api-3

我使用谷歌地图api为我的个人网络照片库。 对于每个具有gps坐标的图片,我在地图上添加了一个Maker对象,并且当我用鼠标点击标记时,该标记与该标记关联以显示缩略图。

我的问题: 单击其他标记时如何自动关闭InfoWindows? 换句话说,当我点击一个标记时,我想关闭之前打开的所有其他InfoWindows。

您可以在此处查看一些测试:http://avbo7291.o2switch.net/outils/test-google-map-api.html

感谢您的帮助

1 个答案:

答案 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();
});