在VUE里实现一个简单的中国地图
如何在vue里面实现一个简单的中国地图,并且实现一些简单的个性化修改。
下面是最终实现的效果图。透明的地图加一个背景图。

1、在你的项目里安装echarts的依赖
npm install echarts -s
(使用淘宝镜像安装也行)
2、引入echarts
全局引入和局部引入根据自己的情况来定
全局引入:
在main.js里面加入,将其挂载的vue的原型上。
1 import echarts from 'echarts'
2 Vue.prototype.$echarts = echarts
局部引入:
直接在用到的地方引入即可 “ import echarts from 'echarts' ”
3、重点:
地图和echarts的其他图表不太一样,需要引入地图资源(如果引入了地图的js就会自动注册,引的是json文件的话就需要手动注册到echarts上),如果没有引的话是显示不出地图的。而这个也有很多坑。
分享一下china.js的下载链接 。
链接:https://pan.baidu.com/s/1qYYyyjrBUUqZedE3irVnzw
提取码:566n
用于不是用vue开发的小伙伴们用,用vue的话可以在node_modules/echarts/map/js/china.js找到这个文件。然后开始引入china.js。
1 import "../../node_modules/echarts/map/js/china.js" //正常运行
2 import "../china.js" //报错
这点我还没弄清楚,两个一模一样的文件,一个是我本地自己下载的,一个是安装echarts的时候安在node_modules里面的。为什么本地下载的就会报错,报china.js里面的this有错。在没有打包的情况下引入node_modules里面的是可以正常运行的,打了包过后的情况我还没测试到,后续可以更新一下。
4、配置地图
在基础工作都做好后开始给我们的地图写配置,以达到我们想要的效果。
给地图准备一个dom
<div id="map" style="width: 500px;height: 500px;"></div>
配置
1 export default {
2 name: "home",
3 mounted() {
4 this.map();
5 },
6 methods: {
7 map() {
8 let map = echarts.init(document.getElementById('map'));
9 // 绘制图表
10 map.setOption({
11 series: [{
12 name: '数据',
13 type: 'map',
14 mapType: 'china',
15 top:'5%',
16 //roam: true, //是否需要缩放地图
17 label: {
18 normal: {
19 show: false //省份名称
20 },
21 emphasis: {
22 show: false
23 }
24 },
25 itemStyle: {
26 normal: {
27 borderColor: 'rgba(0, 0, 0, 0.3)',//区域描边颜色
28 color:'rgba(0, 0, 0,0)',//区域名字颜色,这里是透明
29 areaColor:'rgba(0, 0, 0,0)',//区域颜色 透明
30 },
31 },
32 emphasis:{
33 itemStyle: {
34 areaColor:'rgba(111, 151, 242,0.3)',//高亮区域的颜色
35 },
36 },
37 data: [{
38 name: '北京',//默认显示区域的名字
39 selected: true//高亮显示
40 },
41 {
42 name: '天津',
43 selected: true
44 },
45 {
46 name: '上海',
47 selected: true
48 },
49 {
50 name: '重庆',
51 selected: true
52 },
53 {
54 name: '河北',
55 selected: true
56 },
57 {
58 name: '河南',
59 selected: true
60 },
61 {
62 name: '四川',
63 selected: true
64 }
65 ]
66 }]
67
68 });
69 }
70 }
71 };
以上就是全部步骤的代码,有些地方还不是很清楚,但到达想要的效果后再继续研究。
在VUE里实现一个简单的中国地图的更多相关文章
- 一个让echarts中国地图包含省市轮廓的技巧
背景知识及应用简介 本文主要介绍一个使用ECharts地图组件的取巧方法,该技巧源于实际需求中遇到的问题,一般没有该需求的话这个技巧也是用不到的.有前端基础和以及对ECharts有了解的人基本可以读懂 ...
- 使用echarts简单制作中国地图,echarts中国地图
网站需要一张中国地图,并且鼠标经过某个省份,该省份的省份名字显示,而且该省份的地区会变色显示. 第一种方法: 将每个省份的图片定位(先隐藏),拼合成一张中国地图,然后再定位省份名称,鼠标经过省份名字, ...
- 使用Vue自己做一个简单的MarkDown在线编辑器
1.首先要下载mark组件. npm install marked --save 2.在Vcontent.vue中简单写一些样式. <template> <div class=&qu ...
- 使用vue+koa实现一个简单的图书小程序(1)
这个系列的博客用来记录我开发时候遇到的问题以及学习到的知识 边做边学: 前后端分离,高内聚低耦合小程序端使用了mpvue 内部使用了vuejs的语法 来做整个小程序的渲染层 后端使用的是koa2搭建一 ...
- vue.js建立一个简单的表格
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding= ...
- 使用vue/cli 创建一个简单的项目
首先,电脑安装了node.js官方要求8.9 或更高版本 (推荐 8.11.0+) npm install -g @vue/cli # OR yarn global add @vue/cli 全局安装 ...
- 高级UI特效—用SVG码造一个精美的中国地图
前言 来继续学习SVG,要想深入了解还是要多动手进行实战.关于svg基础可以去看一下我的上一篇文章<SVG前戏—让你的View多姿多彩>,今天就用SVG打造一个精美的UI效果. 正文 先上 ...
- vue中使用echarts来绘制中国地图,NuxtJS制作疫情地图,内有详细注释,我就懒得解释了,vue cli制作疫情地图 代码略有不同哦~~~
我的代码自我感觉----注释一向十分详细,就不用过多解释都是什么了~~ 因为最近疫情期间在家实在是没事干,想找点事,就练手了个小demo 首先上 NuxtJs版本代码,这里面 export defau ...
- 一个简单用原生js实现的小游戏----FlappyBird
这是一个特别简单的用原生js实现的一个小鸟游戏,比较简单,适合新手练习 这是html结构 <!DOCTYPE html><html lang="en">&l ...
- 用python实现一个简单的词云
对于在windows(Pycharm工具)里实现一个简单的词云还是经过了几步小挫折,跟大家分享下,如果遇到类似问题可以参考: 1. 导入wordcloud包时候报错,当然很明显没有安装此包. 2. 安 ...
随机推荐
- DC约束笔记
关于get_pins get_cells get_ports等的定义 关于建立保持与max/min的关系 2.setup time和hold time 建立时间(setup time)是指在触发器的时 ...
- (二)用go实现二叉查找树
本篇,我们用go简单的实现二叉查找树. 1.节点定义 type BSNode struct{ data int left, right, parent *BSNode } 2.前序遍历 func (p ...
- You are using pip version 8.1.2, however version 23.0 is available.You should consider upgrading via the 'pip install --upgrade pip' command.
今天使用python2安装es模块时报错: 原因是pip(模块管理工具)版本过低,需先升级pip,再进行安装 先替换pip的镜像,默认镜像拉取慢,还可能会失败 cd ~;mkdir .pip;touc ...
- 》》》Java利用aspose-words将word文档转换成pdf(破解 无水印)
参考转载:Java利用aspose-words将word文档转换成pdf(破解 无水印) (bbsmax.com) 1.引入 aspose.words 包2.添加解水印 license.xml3.写业 ...
- Python矩阵作图库matplotlib的初级使用(2)
基础介绍 matplotlib图形对象层级结构: 图形对象(figure) → 子图对象(axes) → 坐标轴对象(axis) → 定位器对象-刻度线(locator)/格式化器对象-刻度线标签(f ...
- 关于filter_input函数
PHP: filter_input <?php $search_html = filter_input(INPUT_GET, 'search', FILTER_SANITIZE_SPECIAL_ ...
- C语言学习记录(三)
C语言学习记录(三) 一.知识要点(数据类型.运算符与表达式) 1.C语言的数据类型 C语言数据结构有:基本类型.指针类型.构造类型和空类型.其中基本类型:查看书籍的22页表3-1. C语言的基本数据 ...
- revit卸载工具,完全彻底卸载删除干净revit各种残留注册表和文件的方法和步骤。
revit卸载工具,完全彻底卸载删除干净revit各种残留注册表和文件的方法和步骤.如何卸载revit呢?有很多同学想把revit卸载后重新安装,但是发现revit安装到一半就失败了或者显示revit ...
- js中,作用域与作用域链的概念
1 作用域 声明的一个变量只在一段代码范围内是有效的,并不是总有效的.例如 : function father(){ // 声明变量 var val = "作用域内"; // 定义 ...
- yaml 文件的读取写
yaml 是一种数据格式, 它可以和json数据相互转化 . 自动化测试中一般用于做配置文件或是测试用例. 数据的组成, 两种格式: 1. 字典 2. 列表 Eg. config.yaml serve ...