使用echarts 制作中国地图的显示(基础的配置 + 省份高亮显示 + 鼠标滑动高亮)

经常在制作数据大屏展示的时候,会需要显示中国地图,并且要在地图上做一些 省份高亮显示 +  鼠标滑动高亮

echarts官网:Apache EChartsApache ECharts,一款基于JavaScript的数据可视化图表库,提供直观,生动,可交互,可个性化定制的数据可视化图表。icon-default.png?t=N7T8https://echarts.apache.org/zh/index.html

1.安装echarts依赖
npm install echarts

yarn add echarts

2.写一个标签让地图显示(style中的height,width高宽,自己设置即可)  

<1>正常的dom获取

<div id="centerMap" style=" height:535px; width:750px;"></div>

<2>ref获取

<div  ref="centerMap" style=" height:535px; width:750px;"></div>

3.script代码  

 echarts地图配置API地址:  地图基本配置

<script setup lang="ts">
import * as echarts from 'echarts';
//并且引入china.json文件
import china from '.china.json';

//创建地图容器
//原生获取dom元素(获取操作dom方式,二选一即可)
const myChart = echarts.init(document.getElementById('centerMap'));

//使用$ref 获取dom元素(获取操作dom方式,二选一即可)
const centerMap = ref('');
const myChart = echarts.init(centerMap.value);

//注册地图           地图名称  地图数据
echarts.registerMap("china", china);

myChart.setOption({
geo: {
  map: "china",
  zoom:1.7,
  //滚轮缩放的极限控制
  scaleLimit: {
        min: 1, //最小1倍
        max: 3 //最大3倍
  },
  top:'30%',//位置 
  left:'22%',
  label: {
        show: true,//是否显示省份名称标签。
        fontSize: "10",
        color:'#FFF',
        offset: [12, 8],   
      },
  itemStyle: {
    areaColor:'#4c3cc2',
    borderColor: 'rgba(255,255,255,1)', //省市边界线00fcff 516a89
    shadowColor: "rgba(255,255,255,0.6)",// rgba(128,128,128,1)
    shadowBlur: 2,//阴影的模糊大小  该属性配合 shadowColor,shadowOffsetX, shadowOffsetY 一起设置图形的阴影效果。
    shadowOffsetX:2,//阴影水平方向上的偏移距离
    shadowOffsetY:2,//阴影垂直方向上的偏移距离。
//鼠标划入省份显示高亮
    emphasis: {//鼠标划入高亮状态下的多边形和标签样式。
      show:true,
      areaColor: "#f98333",
      shadowOffsetX: 4,
      shadowOffsetY: 4,
      focus: 'self',//淡出所有其它的图形
    },
  },
//默认高亮的省份
  regions: [ //这个地方是关键,通过设置regions,可以实现不同的省份边界线配置不同的颜色,
           {
           name:'甘肃省', //这个名字要和china.json保持一致
           itemStyle: {
               areaColor:'#ff0000',
          	},
          },
 					{
           name:'江苏省', 
           itemStyle: {
               areaColor:'#ff0000',
          	},
          },
      ],
},
roam: true,//是否开启鼠标缩放和平移漫游
tooltip: {//是否显示提示框组件。
  show:true,
  tirgger: "item",
},
});

4.实现的效果

正常显示

鼠标滑动

注:需要chain.json文件的私聊我,我发给你

### 如何使用 ECharts 绘制北京地理地图 要在 Vue 或其他前端框架中通过 ECharts 实现北京市的地图可视化,可以按照以下方法完成。以下是详细的说明以及示例代码。 #### 1. 准备工作 为了绘制特定地区的地图(如北京市),需要先获取该区域的地图 JSON 数据文件。这些数据可以从 ECharts 官方网站或其他可信资源下载并转换为适合使用的格式[^2]。 确保已安装 `echarts` 库: ```bash npm install echarts --save ``` 如果尚未注册地图数据,则需手动加载对应的地区地图文件。 --- #### 2. 加载地图数据 对于北京市地图,可以通过 CDN 引入预处理好的 Beijing.json 文件,或者自行下载并将其作为静态资源引入到项目中: ```html <script src="https://cdn.jsdelivr.net/npm/echarts"></script> <script type="text/javascript" src="path/to/beijing.js"></script> <!-- 自定义路径 --> ``` 注意:Beijing.json 需要提前从官方文档或社区资源库中找到,并保存为 `.js` 格式的变量名(例如 `beijingMapData`)。随后调用 `registerMap()` 方法来注册此自定义地图[^3]。 --- #### 3. 初始化图表容器 HTML 结构部分设置一个用于承载图形的 DOM 元素: ```html <div id="main" style="width: 600px;height:400px;"></div> ``` --- #### 4. 编写初始化脚本 下面是一个完整的 JavaScript 脚本来展示如何渲染北京市地图: ```javascript // 引入 ECharts 主模块 var echarts = require('echarts'); // 基于准备好的 dom,初始化 echarts 实例 var myChart = echarts.init(document.getElementById('main')); // 注册北京市地图 (假设 beijing.js 已经被正确加载) echarts.registerMap('beijing', beijingMapData); // 指定图表的配置项和数据 var option = { title: { text: '北京市地图', subtext: '', left: 'center' }, tooltip : { trigger: 'item' // 提示框组件 }, visualMap: { // 可视化映射工具条 min: 0, max: 100, left: 'left', top: 'bottom', text: ['高','低'], // 文字默认显示 calculable: true }, series : [ { name: '北京市', type: 'map', mapType: 'beijing', // 设置地图类型为‘beijing’ roam: false, // 是否开启鼠标缩放和平移漫游 label: { show: true // 显示标签文字 }, itemStyle:{ normal:{color:'#7EC0EE'}, // 默认颜色 emphasis:{color:'yellow'} // 高亮状态下的颜色 }, data:[] } ] }; // 使用刚指定的配置项和数据显示图表。 myChart.setOption(option); ``` 上述代码实现了如下功能: - **标题** 和 **提示框** 的基本样式设定; - 添加了一个可视化的数值范围滑动(`visualMap`) 来帮助理解不同区县的数据差异; - 将地图类型设为 `'beijing'` 并禁用了自由拖拽操作以便更专注于固定视角查看[^1]。 --- #### 5. 处理常见问题 当遇到地图无法正常显示的情况时,请检查以下几个方面: - 确认是否成功加载了对应的地图 JSON 数据文件。 - 如果省份名称未显示,可能是因为缺少必要的 CSS 字体支持或是 `label.show=true` 参数未生效。 --- ### 总结 以上就是利用 ECharts 在 Web 页面上呈现北京市地图的具体流程及相关注意事项。希望对你有所帮助!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值