vue项目中——如何用echarts实现动态航线图

在Web开发中,数据可视化越来越受到重视。本文将带领大家了解如何在Vue项目中使用ECharts实现动态航线图,如下图:让你的数据展示更加生动有趣。

一、准备工作

1、安装ECharts

在项目根目录下,运行以下命令安装ECharts:

npm install echarts --save

二、引入ECharts

1、全局引入

在项目的入口文件(main.js)中,引入ECharts并挂载到Vue原型上:

import Vue from 'vue'
import ECharts from 'echarts'Vue.prototype.$echarts = ECharts

2、局部引入

在需要使用ECharts的组件中,按需引入:

import ECharts from 'echarts'

三、实现动态航线图 

1、数据准备

下载需要展示的地图geoJson文件,有很多地方可以下载,我是在这里下载的:https://hxkj.vip/demo/echartsMap/

 2、注册地图

const chinaMap = {你的map Json数据,可使用import引入}
const  chinaMapOutline = {你的map Json数据,可使用import引入}
Echarts.registerMap('chinaMap', chinaMap);
Echarts.registerMap('chinaMapOutline', chinaMapOutline);

3、配置option

以甘肃为例,配置option

var chinaGeoCoordMap = {'嘉峪关市': [98.277304,39.786529],'金昌市': [102.187888,38.514238],"兰州市": [103.823557,36.058039],'天水市':[105.724998,34.578529],"张掖市": [100.455472,38.932897],"平凉市": [106.684691,35.54279],"武威市": [102.634697,37.929996],"白银市": [104.173606,36.54568],"庆阳市": [107.638372,35.734218],"甘南藏族自治州": [102.911008,34.986354],"临夏回族自治州": [103.212006,35.599446],"定西市": [104.626294,35.579578],"陇南市": [104.929379,33.388598],"酒泉市": [96.063265,40.283136],};var chinaDatas = [[{name: '兰州市',value: 0}],	[{name: '天水市',value: 0}],	[{name: '金昌市',value: 0}],	[{name: '陇南市',value: 0}],	[{name: '甘南藏族自治州',value: 0}],	[{name: '临夏回族自治州',value: 0}],	[{name: '白银市',value: 0}],	[{name: '庆阳市',value: 0}],	[{name: '定西市',value: 0}]];var convertData = function(data) {var res = [];for(var i = 0; i < data.length; i++) {var dataItem = data[i];var toCoord = chinaGeoCoordMap[dataItem[0].name];var fromCoord = [103.823557,36.058039];if(fromCoord && toCoord) {res.push([ {coord: toCoord,},{coord: fromCoord,value: dataItem[0].value}]);}}return res;};var series = [{map: 'chinaMap',type: 'map',zoom:1,label: {normal: {show: false,textStyle: {color: '#fff'}},emphasis: {textStyle: {color: '#fff'}}},top: '16%',tooltip:{show:false},roam: false,itemStyle: {normal: {areaColor:'transparent',borderColor: 'rgba(0,255,255,.1)',borderWidth: 1,},emphasis: {areaColor:'rgba(0,255,255,.1)',textStyle: {color: 'red'}}}},    ];[['兰州市', chinaDatas]].forEach(function(item, i) {series.push({type: 'lines',zlevel: 2,effect: {show: true,period: 4, //箭头指向速度,值越小速度越快trailLength: 0.02, //特效尾迹长度[0,1]值越大,尾迹越长重symbol: 'arrow', //箭头图标symbolSize: 5, //图标大小},lineStyle: {normal: {width: 1, //尾迹线条宽度opacity: 1, //尾迹线条透明度curveness: .3 //尾迹线条曲直度}},data: convertData(item[1])}, {type: 'scatter',coordinateSystem: 'geo',zlevel: 2,rippleEffect: { //涟漪特效period: 4, //动画时间,值越小速度越快brushType: 'stroke', //波纹绘制方式 stroke, fillscale: 4 //波纹圆环最大限制,值越大波纹越大},label: {normal: {show: false,position: 'right', //显示位置offset: [5, 0], //偏移设置formatter: function(params){//圆环显示文字return params.data.name;},fontSize: 13},emphasis: {show: true}},symbol: 'circle',symbolSize: function(val) {return 10; //圆环大小},itemStyle: {normal: {show: false,color: 'yellow'}},data: item[1].map(function(dataItem) {return {name: dataItem[0].name,value: chinaGeoCoordMap[dataItem[0].name].concat([dataItem[0].value])};}),});});option = {backgroundColor:'#181F4E',color:['yellow'],geo: {silent: true,map: 'chinaMapOutline',zoom: 1,top: '16%',label: {normal: {show: false,textStyle: {color: '#fff'}},emphasis: {textStyle: {color: '#fff'}}},roam: false,itemStyle: {normal: {areaColor: 'rgba(0,255,255,.02)',borderColor: '#00ffff',borderWidth: 1.5,shadowColor: '#00ffff',shadowOffsetX: 0,shadowOffsetY: 4,shadowBlur: 10,},emphasis: {areaColor: 'transparent', //悬浮背景textStyle: {color: '#fff'}}}},series:series
}

4、设置option

html:

<template><div ref="mapChart" style="width: 100%; height: 500px;"></div>
</template>

 js:

 const chart = Echarts.init(this.$refs.mapChart);chart.setOption(option);

 

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/145542.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

【CPU】CPU的物理核、逻辑核、超线程判断及L1、L2、L3缓存和缓存行说明

CPU物理核及L1、L2、L3及缓存 CPU缓存 CPU 缓存是一种用于存储临时数据以提高计算机程序性能的内存层次结构。它通常分为三个层次&#xff1a;L1&#xff08;一级&#xff09;、L2&#xff08;二级&#xff09;和L3&#xff08;三级&#xff09;缓存。缓存大小是CPU的重…

计算机毕业设计 基于Python Django的旅游景点数据分析与推荐系统 Python+Django+Vue 前后端分离 附源码 讲解 文档

&#x1f34a;作者&#xff1a;计算机编程-吉哥 &#x1f34a;简介&#xff1a;专业从事JavaWeb程序开发&#xff0c;微信小程序开发&#xff0c;定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事&#xff0c;生活就是快乐的。 &#x1f34a;心愿&#xff1a;点…

SpringBoot+Thymeleaf图书管理系统

一、项目介绍 > 这是一个基于SpringBootThymeleaf实现的图书管理系统。 > 包含图书管理、作者管理、分类管理、出版社管理等功能。 > 界面简洁美观&#xff0c;代码结构清晰&#xff0c;完成度比较高&#xff0c;适用于JAVA初学者作为参考项目。 二、项目演示 三…

【刷题日记】43. 字符串相乘

43. 字符串相乘 其实就是大数乘法题&#xff0c;这道题用草稿纸演练一下&#xff0c;其实很好找到方法&#xff0c;模拟大数乘法即可。需要注意的是进位和迭代值&#xff0c;还有注意向下取整和去除前导0&#xff08;容易遗漏&#xff09;。去除前导0的时候还要注意如果全是0&…

OpenAI或于9月24日发布ChatGPT高级语音模式

&#x1f989; AI新闻 &#x1f680; OpenAI或于9月24日发布ChatGPT高级语音模式 摘要&#xff1a;科技媒体报道&#xff0c;OpenAI计划在9月24日进一步推广ChatGPT的高级语音模式&#xff0c;预计将正式发布。该模式于7月向部分ChatGPT Plus用户开放&#xff0c;提供更为真实…

Java面试篇基础部分-Java语言中的锁有哪些?

Java中的锁主要是用于保障并发线程场景下的数据一致性问题。在多线程编程中为了保证数据一致性&#xff0c;通常需要在使用对象或者方法之前进行加锁操作。也就是说要保证在同一时间内只能由一个线程来对对象进行修改&#xff0c;从而保证了数据一致性&#xff0c;保证了数据安…

阿里开源多模态大模型Ovis1.6,重塑出海电商AI格局

阿里开源Ovis1.6&#xff1a;多模态领域再夺第一 阿里再一次证明了自己在多模态领域的实力。这一次&#xff0c;阿里国际AI团队开源的多模态大模型Ovis1.6&#xff0c;不仅成功开源&#xff0c;还在多模态评测基准OpenCompass上击败了Qwen2VL-7B、InternVL2-26B和MiniCPM-V-2.…

ChatGPT 4o 使用指南 (9月更新)

首先基础知识还是要介绍得~ 一、模型知识&#xff1a; GPT-4o&#xff1a;最新的版本模型&#xff0c;支持视觉等多模态&#xff0c;OpenAI 文档中已经更新了 GPT-4o 的介绍&#xff1a;128k 上下文&#xff0c;训练截止 2023 年 10 月&#xff08;作为对比&#xff0c;GPT-4…

数据结构强化(直播课)

应用题真题分析&备考指南 (三)线性表的应用 (六)栈、队列和数组的应用 &#xff08;四&#xff09;树与二叉树的应用 1.哈夫曼&#xff08;Huffman&#xff09;树和哈夫曼编码 2.并查集及其应用&#xff08;重要&#xff09; &#xff08;四&#xff09;图的基本应用 …

伊犁职业技术学院linux 部署教学用首先创建两台linux 主机

1 一台是主机 一台是克隆 能够正常通信&#xff0c;虚拟机全局采用nat 模式 2 主机 地址 192.168.200.10 备机 192.168.200.20 、打开终端 在我们的root 用户上进行配置 另外一台机子也是如此配置流程一样&#xff0c;主要是地址改为 192.168.200.20 不再重复 最终…

【CustomPainter】绘制圆环

说明 绘制一个圆环&#xff0c;进度为0时&#xff0c;显示“圆形”。 效果 源码 MyRingPainter class MyRingPainter extends CustomPainter {final double progress;MyRingPainter({required this.progress});overridevoid paint(Canvas canvas, Size size) {double _stro…

JavaWeb纯小白笔记02:Tomcat的使用:发布项目的三种方式、配置虚拟主机、配置用户名和密码

通过Tomcat进行发布项目的目的是为了提供项目的访问能力&#xff1a;Tomcat作为Web服务器&#xff0c;能够处理HTTP请求和响应&#xff0c;将项目的内容提供给用户进行访问和使用。 一.Tomcat发布项目的三种方式&#xff1a; 第一种&#xff1a;直接在Tomcat文件夹里的webapp…

排序---冒泡排序、堆排序

一、冒泡排序 相邻两个位置交换&#xff0c;假设排升序&#xff0c;就不断把最大的往后拿&#xff0c;所以这段序列从后往前变得有序。 //flag为0&#xff0c;即这个数组已经是有序的了&#xff0c;节省循环次数 二、堆排序&#xff08;数组实现&#xff09; 具体原理介绍看这…

道路坑洞分割数据集/道路裂纹分割数据集

1.道路坑洞,道路裂纹分割数据集&#xff0c;包含5790张坑洞分割图像数据&#xff08;默认分割标注png图片&#xff0c;850MB&#xff09;2.10000余张道路裂纹图像数据&#xff08;默认分割标注png图片&#xff0c;3.7GB&#xff09;3。道路坑洞&#xff0c;道路 道路坑洞与裂纹…

华为昇腾服务器+Atlas300IPro*2 部署Dify+MindIE+Embedding+Rerank实现Qwen2.5-7B全国产化的大模型推理平台

文章目录 一、概要二、平台介绍和相关链接三、MindIE、Embedding、Rerank接口测试四、Dify安装和部署五、测试 一、概要 记录基于华为昇腾推理服务器Atlas300IPro两卡基于MindIE大模型推理引擎和Embedding、Rerank部署dify大模型应用平台。&#xff08;LangChain-ChatChat和Ne…

安克创新25届校招CATA北森测评:笔试攻略、真题题库、高分技巧

安克创新自适应能力CATA测评是该公司用于评估候选人认知能力的计算机自适应测评系统。该测评系统由北森题库提供支持&#xff0c;是国内唯一被国际计算机自适应测验协会(IACAT)收录的产品。测评主要评估以下几个维度&#xff1a; 言语能力&#xff1a;测试理解言语信息并基于这…

QFramework v1.0 使用指南 更新篇:20240918. 新增 BindableList

20240918. 新增 BindableList BindableProperty 很好用&#xff0c;但是不支持 List 等集合。 而 Bindable List 功能群友呼吁了很久了。 应群友要求&#xff0c;笔者实现了 Bindable List。 基本使用方式如下: using System; using UnityEngine; using UnityEngine.UI;na…

科技打造智享出行:深蓝L07抢先试驾

在深秋九月的金风送爽中&#xff0c;在深蓝L07即将正式发布之际&#xff0c;趣味科技来到山城重庆参加了深蓝L07的全国媒体试驾活动&#xff0c;亲身体验了这款科技智享中型轿车。 而深蓝L07在本次试驾中的表现&#xff0c;也让趣味科技深刻感受到了“智享科技美学、智享科技座…

秒懂Linux之共享内存

目录 共享内存概念 模拟实现共享内存 创建key阶段 ​编辑创建共享内存阶段 删除共享内存阶段 查看共享内存属性阶段 挂接共享内存到进程阶段 取消共享内存与进程挂接阶段 进程通信阶段 添加管道改进版 共享内存函数 shmget函数 shmat函数 shmdt函数 shmctl函数 共享内存概念 共…

Redis中Hash(哈希)类型的基本操作

文章目录 一、 哈希简介二、常用命令hsethgethexistshdelhkeyshvalshgetallhmgethlenhsetnxhincrbyhincrbyfloathstrlen 三、命令小结四、哈希内部编码方式五、典型应用场景六、 字符串&#xff0c;序列化&#xff0c;哈希对比 一、 哈希简介 几乎所有的主流编程语言都提供了哈…