Google Maps API:由于mouseout事件,infoWindow会自动闪烁/关闭

Faj*_*hos 6 javascript google-maps event-listener google-maps-api-3

我正在为我正在研究的一个漂亮的新项目创建多边形.只要将鼠标悬停在infoWindow上,多边形上的mouseout事件就会触发,就会出现问题.除非鼠标移动到多边形和infoWindow之外,否则我不希望激活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();
    });
Run Code Online (Sandbox Code Playgroud)

Dr.*_*lle 16

而不是mouseout多边形观察mousemove地图(当鼠标移动到多边形或infowindow时,这不会触发)

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