使用echarts完成中国省市区县镇地图展示

本文详细介绍了如何利用ECharts结合不同数据源,逐步实现从中国地图到省、市、县、镇各级别的地图展示。重点讨论了地图数据的获取,包括ECharts官方提供的china.js、省份js文件,以及使用datav地图选择器和百度地图API获取市县级和镇级地图数据。同时,给出了各个层级地图的代码应用示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

很长时间没有写博客了,最近在做一个大数据面板,记录一下如何使用echarts完成地图特效展示,此篇详细介绍书写过程;
首先说明:

一、中国地图

1.1 地图数据-china.js

获取全国数据,

1.2 代码应用

在这里插入图片描述

html

    <div id="chinaMap"></div>
    <script src="js/china.js"></script>

js

 function chinaMap() {
   
    let myChart = echarts.init(document.getElementById('chinaMap'))
    option = {
   
      geo: {
   
        map: 'china',//这里的名称需要和china.js: echarts.registerMap('china',{})中的名称一致
        label: {
    show: true }, //显示省份
        roam: true, //缩放
      },
      series: [], //地图上二开点线特效数组,按需添加
    }
    myChart.setOption(option)
    window.addEventListener('resize', function () {
   
      myChart.resize()//地图自适应
    })
  }

二、省份地图——以山东为例,其他省份同理

2.1 地图数据-shandong.js

获取省份数据

2.2 代码应用

在这里插入图片描述
html

    <div id="shandongMap"></div>
	<script src="js/shandong.js"></script>

js

  function shandongMap() {
   
    let myChart = echarts.init(document.getElementById('shandongMap'))
    option = {
   
      geo: {
   
        map: 'shandong', //这里的名称需要和shandong.js: echarts.registerMap('shandong',{})中的名称一致
        label: {
    show: true }, //显示地点
        roam: true, //缩放
      },
      series: [], 
    }
    myChart.setOption(option)
    window.addEventListener('resize', function () {
   
      myChart.resize()
    })
  }

三、市级地图——以山东临沂市为例

3.1 地图数据——linyi.json

获取市县级地图时和国省不同,没有官方的提供坐标,需要自行下载,这里推荐:

3.2 应用

在这里插入图片描述

html

<div id="linyiMap"></div>
<script src="js/city.js"></script>

city.js,将下载的json数据命名,方便js调用

tips:
这里下载下来的json文件也可以使用getJson()的方式请求本地json文件,但必须部署到服务端,才可以请求,不然谷歌浏览器就会报跨域。为了方便本地调用,使用的是命名成变量后调用。

var linyiMap = {
   
  type: 'FeatureCollection',
  features: [
    {
   
      type: 'Feature',
      properties: {
   
        adcode: 371302,
        name: '兰山'
评论 20
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值