echarts 实现省市区下钻

最近公司有个项目需要实现省市区下钻,本以为很简单的操作就能实现该功能,没想到遇到各种坑。只有亲自尝试方知其辛酸。

辛酸历程(纯属唠嗑):

第一版:最初LZ基于echarts去实现下钻,发现echarts3.0后就没有相应的区县的地图josn,就去网上各种找地图json,基本都是csdn提供的(下载还要钱o(╥﹏╥)o),后面我有提供免费的下载链接。最初的一版地图下钻就这么实现了,但数据联调后我发现很多地图数据都是错的,画出的轮廓以及区县数量都不对。又害我白瞎折腾了半天(主要还是前期工作没做好)

第二版:看到echart4.0官网推荐使用baidu地图作为底图去实现,参考了这个方法貌似实现了需求,在联调后又发现被坑了,地图轮廓区分明显不对,山东省和辽宁省画出来都接壤了,香港、澳门居然都没有获取到,还有很多区县都不对,如黑龙江省大兴安岭地区加格达奇区就没法获取,又白瞎折腾了(当然有可能是LZ 玩法不对)

第三版:尝试了下高德地图,发现它绘画行政区还挺准,基本上需要的区域都有,由于获取到全国省地图区域太多导致浏览器渲染时卡住了,浏览器渲染了上百万个行政区域(小群岛、小地方太多)导致奔溃,很是无赖。为提高性能最终全国省采用echarts中自带的china.json去渲染,省与地级市通过高德地图做背景层去渲染。

1、通过echarts 实现全国到省,省到市

官网有很多的案例可供参考,再次我就不提供了,给大家分享一个免费的省市区地图json

省市区地图json: 链接:https://pan.baidu.com/s/15vkSeImGdj56mdtYrKHZJg 密码:vizh

2、通过百度地图为底图实现全国、省、地级市下钻

可通过百度地图自定义底图 http://lbsyun.baidu.com/custom/ 去掉不必要的背景层,从而配置类似echart china.json地图,

主要用到的自定义底图、覆盖物类Overlay、服务类Boundary等,具体可参考百度地图API官网。由于该种方式并没有实现理想效果且和后续的高德地图类似,在此就不提供实现代码了,主要参考后续高德地图。

最后附上百度地图实现效果图

全国

全国

市

省

3、通过高德地图为底图实现全国、省、地级市下钻

参考下一篇详细介绍

https://blog.csdn.net/Trifling_/article/details/82083053

  • 3
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值