javascript - 谷歌地图 API : infoWindow flickers/closes automatically because of mouseout event

标签 javascript google-maps google-maps-api-3 event-listener

我正在为我正在进行的一个漂亮的新项目创建多边形。每当您将鼠标悬停在 infoWindow 上时,就会出现问题,多边形上的 mouseout 事件会触发。除非鼠标移出多边形和信息窗口,否则我不希望触发 mouseout 事件。有任何想法吗?这是大部分相关代码。

    infoWindow = new google.maps.InfoWindow({
          content: myContent
    });

    var polygon = new google.maps.Polygon({
          paths: polygonPath,
          strokeColor: data.color,
          strokeOpacity: 0.5,
          strokeWeight: 0,
          fillColor: data.color,
          fillOpacity: 0.5,
          id:polygonId,
          name: data.name,
          shortDesc: data.short_desc,
          map: map 
    }); 


    google.maps.event.addListener(polygon, 'click', function(e){
          infoWindow.open(map);
          infoWindow.setPosition(e.latLng);
    });

    google.maps.event.addListener(polygon, 'mouseout', function(){
          infoWindow.close();
    });

最佳答案

代替多边形的mouseout观察 map 的mousemove(当鼠标移到多边形或信息窗口上时不会触发)

google.maps.event.addListener(polygon, 'click', function(e){
      infoWindow.open(map);
      infoWindow.setPosition(e.latLng);
      google.maps.event.addListenerOnce(map, 'mousemove', function(){
        infoWindow.close();
      });
});

关于javascript - 谷歌地图 API : infoWindow flickers/closes automatically because of mouseout event,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17164544/

相关文章:

javascript - 与 flexbox 相同高度的图像

google-maps - 在网络浏览器中以滚轮方式进行捏合缩放

android - 谷歌地图抛出空指针异常

ios - 如何在 UIWebView 内显示来自 WebApp 的谷歌地图方向?

javascript - 如何使单击链接时边框的颜色发生变化?

javascript - 在 jquery 中显示从中间向外扩展的 div

javascript - 如何在 React 中正确扩展从外部站点加载的 JS 类

google-maps-api-3 - api google 中的 Esri basemap

javascript - 在函数返回之前更新 Canvas

javascript - DevExtreme 和 DxMap 和 DxDataGrid