1. 程式人生 > >BMap.Polygon物件觸發事件mouseover、mouseout有時不觸發

BMap.Polygon物件觸發事件mouseover、mouseout有時不觸發

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.html

2).給map新增mousemove事件監聽,取代mouseover和mouseout事件,在監聽中拿到滑鼠的點,之後判斷是否在行政區的多邊

形內

map.addEventListener('mousemove', function(e){//滑鼠移動監聽事件


if (BMapLib.GeoUtils.isPointInPolygon(e.point,polygon)){
bply.setFillColor('yellow');
} else {
bply.setFillColor('blue');
}
});