我正在创建一个包含多个标记的Google地图。目前每个标记都有一个信息窗口,我怎样才能一次打开一个信息窗口?
此时它会在点击地图时关闭所有窗口。
我知道这个问题已被问过几次,但代码似乎与我的有很大不同。
// if marker contains HTML, add it to an infoWindow
if( $marker.html() )
{
// create info window
var infowindow = new google.maps.InfoWindow({
content : $marker.html()
});
// show info window when marker is clicked
google.maps.event.addListener(marker, 'click', function() {
infowindow.open( map, marker );
});
google.maps.event.addListener(map, 'click', function(event) {
if (infowindow) {
infowindow.close(); }
});
}
答案 0 :(得分:2)
试试这个:声明一个infowindow(地图的全局,而不是标记的一个)。
var infoWindow;
...
if( $marker.html() ){
google.maps.event.addListener(marker, 'click', function() {
if (infoWindow) infoWindow.close();
infoWindow = new google.maps.InfoWindow({
content : $marker.html()
});
infoWindow.open( map, marker );
});
}