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

              }

         });



  • 2017-12-06 09:35:10

    分页优化的四种方式

    在大数据量的情况下,原本很简单的分页如果没有处理好,你会发现分页的请求会消耗你大量的数据库时间。如果你遇到了这个问题,文章给了你几个很好的解决的方案。当然,初学者若能看完这篇文章,那么它会指导你写出更具有扩展性的分页代码。