百度地图api-在中国范围内的多行政区选择与反选(增加屏蔽层)

这两天在实验百度地图的api,老实说做的还蛮好使的,不过我这需要的行政区选择和反选功能还是不怎么好实现,实践了一下总算找到了一个比较好一点的解决办法。
行政区选择其实没啥好说的,就是直接拿出行政区名字来调用BMap.Boundary().get(districtName,callback)就可以了
反选尤其是不确定多少个行政区时候的反选才是个麻烦。
我自己选择的方式是找出咱国家四个角端点的经纬度,然后以此画一个闭合折线,再连接选中的区域,再连接四角端点,依次类推
优点是省事&节省资源(我懒_(:з」∠)_)
缺点是不能开描边,不然你就会看到一堆额外的连向西北(左上)的线。
具体代码直接扔到下面了(包括选区&绑定事件&画屏蔽层)
第一次写写的有点乱……反正也是拿来当备忘的所以随意了。
另外有一点想吐槽的……为啥设透明度为0的话无效呢

补个效果图吧(

 

更正:发现原来的思路想错了一点,每次加完新的点数组后只要再加一下初始点就可以闭合了


源码(更新1.1版本,直接给了可以使用的demo,copy出来改成.html即可看效果,不过请不要忘了改ak):





   
   
   

   
   
   
    
   



   








 

转载于:https://www.cnblogs.com/wondergx/p/5305602.html

你可能感兴趣的:(百度地图api-在中国范围内的多行政区选择与反选(增加屏蔽层))