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

2019-12-03 16:51:58

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

              }

         });



  • 2018-01-29 15:18:57

    Druid多数据源配置

    搞了一天,竟然输在了把datasource,携程dataSource.老是切换不成功,几近崩溃。

  • 2018-02-01 22:09:18

    给linux添加回收站

    linux下常常使用rm,导致误操作删除一些重要的文档,很难恢复(当然也能恢复,不过比较复杂),所以在这种情况下,我们如果能给linux添加一个回收站就好多了,说白了,这个回收站机制也比较简单,就是使用 mv封装一个rm,简单的可以自己写个脚本,复杂点的就是在bin下添加这个封装命令就行了。