2013-06-18 28 views
6

Tôi đang ở giữa việc tạo đa giác trên một dự án mới mà tôi đang làm việc. Vấn đề phát sinh bất cứ khi nào bạn di chuột qua infoWindow, sự kiện mouseout trên đa giác kích hoạt. Tôi không muốn sự kiện mouseout kích hoạt trừ khi chuột di chuyển ra ngoài đa giác AND infoWindow. Bất kỳ ý tưởng? Đây là hầu hết các mã có liên quan.API Google Maps: infoWindow nhấp nháy/tự động đóng vì sự kiện di chuột

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(); 
    }); 

Trả lời

15

Thay vì mouseout của đa giác quan sát mousemove cho bản đồ (điều này sẽ không bắn khi di chuyển chuột lên hình đa giác hoặc 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(); 
     }); 
}); 
+0

Bạn thưa ông, là một người đàn ông và một học giả. Cảm ơn bạn. – FajitaNachos

+0

Tuyệt vời, hoạt động hoàn hảo! – jhawes

Các vấn đề liên quan