如何关闭谷歌地图上的信息窗口

时间:2013-08-04 19:02:36

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

我正在尝试找到如何自动关闭或/和关闭标记的信息窗口(谷歌地图)。

我处理了那段代码,但我不明白为什么close函数不会关闭de infowindow。我的Firefox控制台上没有错误

以下是代码,我们将非常感谢您的帮助

//Infowindow
google.maps.event.addListener(markers[i], 'click', function() {

/* the marker's content gets attached to the info-window: */
var info = new google.maps.InfoWindow({
    content: this.content
});
info.close(); // IT DOES NOT CLOSE the open infowindow or all open

/* trigger the infobox's open function */
info.open(map,this); //This works

/* keep the handle, in order to close it on next click event */
//infos[0]=info;

});

非常感谢

2 个答案:

答案 0 :(得分:0)

我有类似的代码,当我添加infowindow.close()时似乎工作,也许你可以找到我的答案:

google.maps.event.addListener(marker, 'click', (function(marker, content) {
        return function() {
            map.panTo(marker.position);
            infowindow.setContent(content);
            infowindow.open(map, marker);       
            map.circle.setCenter(marker.position);
            infowindow.close();
        }
    })(marker, content));

答案 1 :(得分:0)

关闭infowindow时需要传递两个参数。您可以尝试下面列出的功能。在click事件上调用close方法以在标记上打开新的infowindow之前关闭现有的infowindow。

当您将鼠标移离标记时,此代码将删除信息窗口,当您单击标记时,它将打开信息窗。

试试看,告诉我。

var info = new google.maps.InfoWindow({
content: this.content
});

google.maps.event.addListener(marker, 'click', function() { 
    info.close(map,marker); 
    info.open(map,marker); 
});

google.maps.event.addListener(marker, 'mouseout', function() {
     info.close(map,marker); 
});