BMap.Polygon对象触发事件mouseover、mouseout有时不触发

针对百度地图API中省份区域触发事件不稳定的BUG,本文介绍了一种利用几何计算库和自定义事件监听的方法来替代默认的mouseover和mouseout事件,确保鼠标在省份区域上能够准确触发颜色变化。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值