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-10-24 15:24:54

    getcachedir和getexternalcachedir的区别

    应用程序在运行的过程中如果需要向手机上保存数据,一般是把数据保存在SDcard中的。 大部分应用是直接在SDCard的根目录下创建一个文件夹,然后把数据保存在该文件夹中。 这样当该应用被卸载后,这些数据还保留在SDCard中,留下了垃圾数据。 如果你想让你的应用被卸载后,与该应用相关的数据也清除掉,该怎么办呢?

  • 2018-10-25 11:05:16

    SimpleDateFormat转换时间,12,24时间格式

    在使用SimpleDateFormat时格式化时间的 yyyy.MM.dd 为年月日而如果希望格式化时间为12小时制的,则使用hh:mm:ss 如果希望格式化时间为24小时制的,则使用HH:mm:ss