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