BMap.Polygon物件觸發事件mouseover、mouseout有時不觸發
阿新 • • 發佈:2018-12-30
1.問題描述:
滑鼠進入省份時經常無法觸發事件,區域不能變數。有時滑鼠在區域內移動,又會觸發事件,區域變數或變淺
2.問題原因:
百度地圖mouseover、mouseout事件監聽BUG(介面/API:http://api.map.baidu.com/api?v=2.0 ,或許以後會修復)
3.解決辦法:
1).使用幾何計算開源庫 http://api.map.baidu.com/library/GeoUtils/1.2/examples/simple.html2).給map新增mousemove事件監聽,取代mouseover和mouseout事件,在監聽中拿到滑鼠的點,之後判斷是否在行政區的多邊
形內
map.addEventListener('mousemove', function(e){//滑鼠移動監聽事件
if
(BMapLib.GeoUtils.isPointInPolygon(e.point,polygon)){
bply.setFillColor('yellow');
}
else {
bply.setFillColor('blue');
}
});