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

相关推荐:

echarts如何使用formatter修改鼠标悬浮事件信息

这篇文章主要讲解了echarts如何使用formatter修改鼠标悬浮事件信息,内容清晰明了,对此有兴趣的小伙伴可以学习一下,相信大家阅读完之后会有帮助。formatter一般用于格式化鼠标悬浮时间的信息,如果你的数据是JSON数组格式,那么不必和我这样一一判断扇形图的ticket值,使用forma...

vue如何导入echarts地图

这篇文章主要为大家展示了“vue如何导入echarts地图”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“vue如何导入echarts地图”这篇文章吧。 导入方法:1、使用“npminstallecharts-S”命令安装echarts依赖;2、在“mai...

Bootstrap标签页插件切换echarts不显示怎么办

这篇文章将为大家详细讲解有关Bootstrap标签页插件切换echarts不显示怎么办,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。问题:1. 在echarts跟bootstrap选项卡整合的时候,默认第一个选中选项卡可以正常加载echarts图表,但是...

ECharts如何调用接口获取后端数据

这篇文章主要介绍了ECharts如何调用接口获取后端数据的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇ECharts如何调用接口获取后端数据文章都会有所收获,下面我们一起来看看吧。方法一:在mounted中使用定时器调用eacharts方法(定时器可以获取到data中的...

vue.js如何将echarts封装为组件一键使用详解

前言 本文主要给大家介绍了关于vue.js将echarts封装为组件一键使用的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧。 说明 做项目的时候为了让数据展示的更加直观,总会用到图表相关的控件,而说到图表控件第一时间当然想到ECharts这个开源项目,而它不像iview、...

Echarts怎么重新渲染

这篇文章主要介绍“Echarts怎么重新渲染”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Echarts怎么重新渲染”文章能帮助大家解决问题。当我点击饼图时,出现相应的内容,并重新渲染饼图展示内容饼图点击事件this.conechart.on('c...

微信小程序中如何使用echarts模块

这篇文章主要介绍微信小程序中如何使用echarts模块,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!项目分为PC端、用户端小程序和商家端小程序,这里主要讲讲在商家端中的某个模块,需要用到数据统计图表,当时觉得有两个插件不错:百度echarts阿里AntV因为之前在项目中使用e...