0

我将 google map api 用于我的个人网络照片库。对于每张带有 gps 坐标的图片,我在地图上添加了一个 Maker 对象和一个与标记关联的 InfoWindows 对象,以便在我用鼠标单击标记时显示缩略图。

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

你可以在这里看到一些测试:http: //avbo7291.o2switch.net/outils/test-google-map-api.html

谢谢你的帮助

4

1 回答 1

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();
});
于 2013-02-19T19:26:00.837 回答