如何在悬停地图标记时关闭ploygon infowindow?

时间:2016-02-09 11:32:22

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

我正在实施google地图,它将多边形设置为状态边界,集合标记设置为多边形上的城市,当我在多边形/状态上悬停然后显示一些信息时。

我的问题是,当我将鼠标悬停在多边形/状态时,如何关闭标记/城市的信息窗口。反之亦然。

Fiddle is here: Map Sample

2 个答案:

答案 0 :(得分:0)

假设您已将polygoninfoWindow声明为您需要的变量。

google.maps.event.addListener(polygon,"mouseover",function(){
 infowindow.close();
}); 

答案 1 :(得分:0)

在标记和/或多边形上有一个事件监听器:

marker.addListener('mouseover', function() {
    infowindow.close();
});

因此当他们将鼠标悬停在标记上时,即“鼠标悬停”时,关闭信息窗口。到目前为止,我们没有看到您的任何代码,我认为您可以访问变量markerinfowindow

或者,您可能希望完全删除infowindow:

infowindow.setMap(null);

更新好的,现在您至少已经链接到了某些代码,您可能想要做的是当您将鼠标悬停在多边形上时关闭信息窗口,以及当状态信息显示时你将鼠标悬停在标记上。类似的东西:

google.maps.event.addListener(marker,'mouseover', (function(marker){ 
    return function() {
        infowindow.setContent(find_city);
        infowindow.open(map,marker);
        stateinfoWindow.close();
    };
  })(marker,infowindow));

google.maps.event.addListener(polygon, 'mouseover', function (e) {              
    stateinfoWindow.setContent("State");
    stateinfoWindow.open(map);
    infowindow.close();
});