目录

  • 如何使用 Echarts 给绘制出来的地图描边
    • 获取 GeoJSON 数据
    • 初始化
    • 绘制陕西省轮廓
    • 绘制陕西省地图
    • 设置轮廓样式

如何使用 Echarts 给绘制出来的地图描边

Echarts 在绘制地图的时候,会根据 GeoJSON 中点的数据绘制出多边形的地图。有时候需求需要对地图的外边框,也就是整体的轮廓添加一些特殊的样式,这时候需要两组 GeoJSON 的数据去绘制当前的地图,一组 GeoJSON 的数据是用于绘制地图的整体轮廓,另外一组 GeoJSON 数据是用来绘制具体的地图区域,然后采用叠加的方式,得到最终的效果。

下面例子中,以陕西省为例。

获取 GeoJSON 数据

在绘制地图的时候,尽量采取同一个来源的 GeoJSON 数据,因为不同数据之间可能会存在一定的误差,导致最终绘制的效果变差。本文例子中的数据来源是来自这个网站的 https://hxkj.vip/demo/echartsMap/ ,可以非常方便的导出省市区的 GeoJSON 数据。

以绘制陕西省的地图为例,需要两组数据,一组是陕西省的 GeoJSON 数据,另外一组是陕西省轮廓的 GeoJSON 数据。陕西省的 GeoJSON 数据直接可以获取,陕西省轮廓的 GeoJSON 数据需要从全国地图数据中提取出来。

初始化

index.html 内容如下:

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta http-equiv="X-UA-Compatible" content="ie=edge"><title>地图轮廓</title>
</head><style>.map {width: 500px;height: 800px;}
</style><body><div class="map"></div><!-- 引入 echarts --><script src="https://cdn.bootcss.com/echarts/4.3.0/echarts.js"></script><!-- 陕西省的 GeoJSON 数据,暴露常量 shaanxi --><script src="./shaanxi.js"></script><!-- 陕西省轮廓的 GeoJSON 数据,暴露常量 shaanxiOutline --><script src="./shaanxiOutline.js"></script><script src="./index.js"></script></body></html>

首先做一些初始化。

// index.js// 注册地图
echarts.registerMap('陕西省', shaanxi);
echarts.registerMap('陕西轮廓', shaanxiOutline);// 初始化 echarts, 创建一个 echarts 实例
const map = document.querySelector('.map');
const myChart = echarts.init(map);const option = {};myChart.setOption(option);

绘制陕西省轮廓

// index.js...const option = {geo: {map: '陕西轮廓',roam: false,zoom: 1,top: '5%',right: '5%',bottom: '1%',left: '5%',label: {show: false, // 不显示labelemphasis: {show: false}},show: true,},
}...

得到如下的轮廓:

绘制陕西省地图

// index.js
...const option = {geo: {map: '陕西轮廓',roam: false,zoom: 1,top: '5%',right: '5%',bottom: '1%',left: '5%',label: {show: false,emphasis: {show: false}},show: true,},series: [{name: '陕西省',type: 'map',map: '陕西省',roam: false,zoom: 1,top: '5%',right: '5%',bottom: '1%',left: '5%',tooltip: {show: false,},label: {normal: {show: true,position: "inside", //显示位置offset: [0, 0], //偏移设置color: "#7b89dc",formatter: "{b}", //圆环显示文字fontWeight: "lighter",fontSize: 12},emphasis: {color: '#ffffff',show: true},},}]
}...

得到如下地图样式:


可以看出来,在叠加以后边缘轮廓部分还是因为 GeoJSON 的多边形数据不是很一直,存在一小部分的误差。

设置轮廓样式

最后添加一些轮廓的样式和地图的样式

// index.js...const option = {geo: {map: '陕西轮廓',roam: false,zoom: 1,top: '5%',right: '5%',bottom: '1%',left: '5%',label: {show: false,emphasis: {show: false}},itemStyle: {normal: {borderColor: '#4a75ff',borderWidth: 5,areaColor: 'rgba(65, 82, 245, 0)',shadowColor: 'rgba(51, 69, 255, 1)',shadowBlur: 20},emphasis: {areaColor: 'rgba(0, 0, 0, 0)'}},hoverAnimation: false,show: true,},series: [{name: '陕西省',type: 'map',map: '陕西省',roam: false,zoom: 1,top: '5%',right: '5%',bottom: '1%',left: '5%',tooltip: {show: false,},label: {normal: {show: true,position: "inside", //显示位置offset: [0, 0], //偏移设置color: "#7b89dc",formatter: "{b}", //圆环显示文字fontWeight: "lighter",fontSize: 12},emphasis: {color: '#ffffff',show: true},},itemStyle: {normal: {borderColor: '#3d59cd',borderWidth: 1,areaColor: 'rgba(65, 82, 245, 0.2)',shadowColor: 'rgba(51, 69, 255, 0.5)',shadowBlur: 10},emphasis: {areaColor: 'rgba(65, 82, 245, 0.5)',}},}]
}...

最后可以自行调整一下中心市区名字的显示位置就可以了。

如何使用 Echarts 给绘制出来的地图描边相关推荐

  1. react中使用ECharts绘制各省市地图

    首先,安装对应依赖 npm install echarts --save 2.引入 import React from "react"; // 模块化样式表 import s fr ...

  2. Vue3 + Echarts 5 绘制带有立体感流线中国地图

    本文绘制的地图效果图如下: 一.Echarts 使用五部曲 1.下载并引入 echarts Echarts 已更新到了 5.0 版本,安装完记得检查下自己的版本是否是 5.0 . npm instal ...

  3. vue+echarts+json绘制地图“绝对干货”

    vue+echarts+json绘制地图"绝对干货" 不多说,直接干 该样式实现及其简单 跟着我做就好了 vue没安装的 回去看基础吧 echarts没安装的 npm instal ...

  4. echarts 绘制县级市地图 数据可视化

    背景: 上头给了我一个使用兰溪市地图进行相关的数据可视化任务,我自然想到了以前用过的echarts,但使用过发现他自带的能实现的只到地级市(例如金华市),而县级市的区划暂时没法实现. 本文以兰溪市(县 ...

  5. echarts绘制上海市乡镇级地图

    echarts绘制上海市乡镇级地图 echarts 最新版本不支持GeometryCollection,虽然有人在4年前就提了issue <!DOCTYPE html> <html ...

  6. 【Echarts】绘制中国地图及各省份地图

    示例: 地图文件下载地址:mirrors / fuhang-lm / echarts · GitCode 这里以北京市地图为例,如果是其他省份或者全国,下载对应的js文件并引入系统,需要替换一下两处, ...

  7. 【ECharts学习】—实现中国地图

    [ECharts学习]-实现中国地图 使用Echarts进行地图绘制展示的时候,需要china.js的引入,我把它放在百度网盘里了,需要的自取 点我跳转到百度网盘 提取码:clby <!DOCT ...

  8. 微信小程序利用echarts实现中国任意行政区域地图

    微信小程序利用echarts实现中国任意行政区域地图 前言 实现 克隆代码 集成 点击事件 点击跳转 代码改造 尾巴 前言 最近微信小程序中需要绘制地图,然后点击地图可以跳转到下一层级.研究了一番,选 ...

  9. echart 广州3d_echarts绘制3D城市地图

    使用echarts 绘制 中国地图/各省地图/市级地图 的3D地图 先上效果图javascript 中国 html 四川省 java 成都市 git 3D地图说明 经过使用 series-map3D ...

  10. 利用echart和echart-gl绘制江苏省的地图之一

    文章目录 利用echart和echart-gl绘制江苏省的地图之一 1. 初始化配置 1.1 引入echarts.echarts-gl.江苏省的地图数据 1.2 初始化echarts的参数配置 1.2 ...

最新文章

  1. 与《代码大全》齐名的经典著作
  2. C++ 传指针还是引用?
  3. LeetCode 204. 计数质数(质数的倍数不是质数)
  4. STM32 初学不知道外设对应的APB1还是APB2
  5. JEECG Framework 3.3.1 beta版本发布第一天战报(文档下载量破1300、代码下载量破700)
  6. memcpy 作用(C++)
  7. CCF认证-2015-3-2 数字排序
  8. 黄老师架构师课程笔记(一)反射
  9. CentOS8 之dhcp、tftp、syslinux部署
  10. [已解决] Could not create connection to database server.
  11. win10输入法看不见选字框_Win10更新后微软拼音输入法没有选字框怎么办?
  12. 计算机网络技术报告一份,计算机网络技术》实验的报告.doc
  13. python的key函数_由 sort 中 key 的用法浅谈 python
  14. 微信小程序相关操作示例
  15. 计算机中汉字的顺序用什么牌,中国汉字的写做顺序,你知道吗?
  16. Linux 内核文件系统模块结构体关系图
  17. execute、executeQuery、executeUpdate的用途及返回值
  18. 【pandas】教程:1-处理什么样的数据
  19. 用户 不在 sudoers 文件中。此事将被报告。
  20. 国外5个在网页设计最具影响力的人物

热门文章

  1. Autocad ET扩展工具汉化
  2. adb的环境搭建,下载和卸载app
  3. 命令行启动MySQL数据库
  4. Java从入门到放弃 --没放弃就写java程序员职业规划
  5. 层次分析法和bp神经网络,基于bp的神经网络算法
  6. oracle IMP命令导入导出DMP文件
  7. 博科交java插件_博科光纤交换机配置
  8. 网络调试助手(模拟下位机收发数据)快速指南
  9. 【008】基于vue.js的仿网易云web端(含源码答辩PPT、接口文档、运行教程)
  10. 微信中调用扫一扫最简便的方法 5行代码实现H5扫一扫 HTML5扫二维码最简便的办法