ECharts Map地图的显示

ECharts支持地理坐标显示,专门提供了一个geo组件,在setOption中提供option.geo配置即可显示地图。

option.geo配置中有个map属性,取值为已通过 echarts.registerMap("name", geojson) 注册的name值,来关联到对应的geojson数据文件;注册不同名称的geojson地图数据,再修改option.geo.mapregions,就能切换显示不同的地图。

具体参考官方文档:https://echarts.apache.org/zh/option.html#geo

GeoJSON数据文件获取

阿里云的DataV.GeoAtlas可以在线获取到数据,不过数据比较旧(更新于2021.5),截止到2022年12月9日已经一年半的时间没有更新,鉴于浙江省有很多区县的区划有变更调整,不建议使用DataV.GeoAtlas的数据。

AreaCity-JsSpider-StatsGov开源库可以下载到新的geojson数据,包括四级区划数据、省市区三级坐标边界数据、乡镇级坐标边界数据:

下载到的数据是最新的csv文件,同时下载一下开源库提供的转换工具,工具支持将csv数据转换成:shp、geojson、sql、导入数据库、坐标系转换,功能比较丰富,我们只需转成geojson即可。

转换出来的geojson是一个大的文件,里面包含了全国省市区所有数据,我们在ECharts中一般是使用拆分的文件,每个区县一个文件这种,我们到工具的高级功能中拆分这个大的文件成小文件,点开工具的高级功能,里面切换到geojson拆分功能,即可将文件按省市区县进行拆分,我们需要浙江省的数据就copy浙江下面的文件即可。

一般每年都会有地方有区县的变更,所以数据需要按时更新,建议至少一年更新一次数据,更新时按步骤重新下载最新的数据操作一遍即可。

在ECharts中绘制浙江省的数据

我们得到浙江省geojson文件后,里面每个市、区都有对应的一个json文件,我们根据需要展示的地方加载对应的json文件,然后通过echarts.registerMap("City"+城市id, geojson)来注册地图。

然后更新echarts实例的option.geo.mapregions,就能在ecahrts里面显示这个geojson地图了。

给地图绑定点击事件,点击地图的一个城市时,重复上面的步骤,加载下一级json文件,再注册,再显示;这样就可以做到多级下钻。

放张浙江杭州的geojson渲染图吧,比较直观:

相关代码可以参考这个demo页面,里面实现了ECahrts Map四级下钻,和一个高德地图上的绘制显示,前端源码在页面底下。不过这个demo太过于复杂,不方便copy代码使用,过几天我会专门写一篇文章来介绍ECahrts Map代码的编写,敬请期待~

【完】

echarts map地图中绘制浙江省市区县乡镇多级联动边界下钻的最新geojson数据文件获取和更新的更多相关文章

  1. echarts map 地图在react项目中的使用

    需求 展示海南省地图,点击市高亮展示,并在右侧展示对应市的相关数据. 准备工作 Echarts 海南地图json 效果图 代码 index.tsx import React, { useRef, us ...

  2. Echarts Map地图下钻至县级

    **准备工作:**1.首先使用vue-cli的脚手架生成vue项目. 2.然后使用npm安装echartsnpm install echarts -S 3.安装完后再mian.js中挂载到vue的实例 ...

  3. echarts在地图上绘制散点图(任意点)

    项目需求:在省份地图上绘制散点图,散点位置不一定是哪个城市或哪个区县,即任意点 通过查询官网文档,找到一个与需求类似的Demo:https://www.echartsjs.com/gallery/ed ...

  4. Echarts Map地图类型使用

    使用的时候出现了一个BUG, China地图的底色没有绘制出来,现在把一个小的DEMO给大家,以供参考,并附上参考文章(http://blog.csdn.net/danielinbiti/articl ...

  5. echarts Map(地图) 不同颜色区块显示

    以河南地图为例: 代码如下: <h3>天翼日必达完成率</h3> <div id="map" style="height:340px; te ...

  6. echarts map地图设置外边框或者阴影

    geo: { map: 'china', center: [112.194115019531, 23.582111640625], zoom: 12, aspectScale: 1, //长宽比 la ...

  7. 省市区/国籍 多级联动-jq

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  8. 从区划边界geojson中查询经纬度坐标对应的省市区县乡镇名称,开源Java工具,内存占用低、高性能

    目录 坐标边界查询工具:AreaCity-Query-Geometry 性能测试数据 测试一:Init_StoreInWkbsFile 内存占用很低(性能受IO限制) 测试二:Init_StoreIn ...

  9. (UWP)通过编写算法实现在地图中的渐变路径

    目前的一个App中需要实现这个需求,但是在UWP自带的Bing Map中,绘制的MapPolyline的StrokeColor的类型是Windows.UI.Color,也就是说一条MapPolylin ...

  10. QGIS打印布局中绘制多个子图

    QGIS如何绘制多图 数据准备 这是一份英国大曼彻斯特地区的数据,里面包含了教育.收入.人口密度.绿地比例.城市比例等数据,我们准备把这些数据在地图上呈现出来,为此,我们需要做在地图中绘制6幅子图,这 ...

随机推荐

  1. [ML从入门到入门] 支持向量机:从SVM的推导过程到SMO的收敛性讨论

    前言 支持向量机(Support Vector Machine,SVM)在70年代由苏联人 Vladimir Vapnik 提出,主要用于处理二分类问题,也就是研究如何区分两类事物. 本文主要介绍支持 ...

  2. OFD是什么

    OFD是什么? 原文链接:OFD是什么 OFD更多了解:OFD (Open Fixed layout Document/开放版式文档) OFD格式文件介绍 OFD(Open Fixed layout ...

  3. Go微服务实战 - 从0到1搭建一个类Instagram应用(持续更新)

    概要 近几年各大移动应用基本都有社区Community(或动态Moments)的功能,展现形式各不相同,比如 国内的有:微博.朋友圈.抖音.小红书.keep.绿洲.即刻等 国外的有:Instagram ...

  4. 关于使用AWS上的RHEL-8.x/Redhat系统使用自己单独购买的Redhat官网license导致的yum命令报错处理

    我们在aws上使用市场提供的RHEL-8.x系统后,license相关的都是由aws官网一起提供了 最近笔者将aws上一台作过系统加固的RHEL-8.x导出到自己本地DC环境,也注册了Redhat官网 ...

  5. 老杜MySql——34道作业题

    老杜MySql链接:https://www.bilibili.com/video/BV1Vy4y1z7EX?p=132 本次随笔主要来源于老杜MySql讲解视频后面的作业题,加上个人的一些理解,以及整 ...

  6. cf1082 A. Vasya and Book

    中文题意: 思路:我们先看看能不能直接从x翻到y,abs(y-x)%d==0,可以就直接输出abs(y-x)/d咯,不行的话之后有2种操作 1.先翻回到第一页,从第一页看看能不能范到y,不能的话翻到最 ...

  7. 生产系统CPU飙高问题排查

    现状 生产系统CPU占用过高,并且进行了报警 排查方法 执行top命令,查看是那个进程导致的,可以确定是pid为22168的java应用导致的 执行top -Hp命令,查看这个进程的那个线程导致cpu ...

  8. 图解不同版本的HTTP协议

    前言 大家好,我是蜗牛,今天我们聊聊HTTP协议,通过这篇文章我们能了解到不同版本HTTP优缺点.他们之间的性能差异以及现在主流的HTTP协议用的那个版本 HTTP/1.1 时代 HTTP/1.1 对 ...

  9. String类型变量的使用

    1.String属于引用数据类型,翻译为:字符串 2.声明String类型变量时,使用一对"" 3.String可以和8种基本数据类型变量做运算,且运算只能是连接运算:+ 4.运算 ...

  10. C语言------循环结构I

    文章目录 1 .实训名称 2 .实训目的及要求 3 .源代码及运行截图 4 .小结 1 .实训名称 实训5:循环结构I 2 .实训目的及要求 1 .熟练掌握while.do-while和for语句实现 ...