如何检查是否在地图上设置了infoWindow?

时间:2010-07-09 22:52:43

标签: google-maps-api-3

有没有办法先检查是否设置了infoWindow并在使用前在地图上

marker.infowindow.close();

如果没有设置而不在地图上,脚本不起作用?我想在关闭之前检查if语句吗?

3 个答案:

答案 0 :(得分:1)

您可以使用变量来检查infoWindow是否存在:

var currentInfoWindow = null;

if(currentInfoWindow !== null){
    currentInfoWindow.close();
}

然后,在调用infoWindow.open()之后将currentInfoWindow分配给新的infoWindow:

currentInfoWindow = infoWindow;

这对于确保地图上只打开一个infoWindow特别有用。

答案 1 :(得分:0)

您可以在Javascript中使用typeof功能。

if (typeof(marker.infowindow) === "undefined"){
//object doesn't exist
}
else{
//the object does exist
marker.infowindow.close();
}

答案 2 :(得分:0)

您可以为您用作InfoWindow内容的div提供ID。 如果InfoWindow在地图上打开,document.getElementById('content-div-id')将返回div,否则将null