vue 使用 Echarts做地图及飞线效果

前言:

        效果图

        

一. 项目中安装以及引入Echarts

1.1 npm 命令安装echarts库

npm install echarts --save

1.2 yarn命令安装echarts库

yarn add echarts

1.3 引用

        a. 在使用页面上引入 在Vue组件的script标签中引入echarts库

                使用 echarts

import * as echarts from "echarts";

        b. 全局引用 在main.js中引入echarts库

                使用 this.$echarts

import echarts from 'echarts';
Vue.use(echarts);
Vue.prototype.$echarts = echarts;

二. 创建Echarts地图

1. echarts展示的盒子

        Echarts父盒子有多大 Echarts就展示多大。

<template><div class="linesbox"><div id="linesecharts" style="width: 100%; height: 100%"></div></div>
</template>

2. 引入地图数据

import testjson from "./../../utils/bj.json";

这个地图数据是北京市各个区边界数据。下载地址:https://datav.aliyun.com/portal/school/atlas/area_selector

这地址我们可以下载自己所想要的地图边界数据。或者是找公司给我边界数据。格式必须跟这个一样。

 把上面的数据下载下来 并引入我们就可以使用。

3. 飞线数据以及方法

       

sjfbEcharts: null,        // echarts实例// 图片是base64也行
planePath:"path://M1705.06,1318.313v-89.254l-319.9-221.799l0.073-208.063c0.521-84.662-26.629-121.796-63.961-121.491c-37.332-0.305-64.482,36.829-63.961,121.491l0.073,208.063l-319.9,221.799v89.254l330.343-157.288l12.238,241.308l-134.449,92.931l0.531,42.034l175.125-42.917l175.125,42.917l0.531-42.034l-134.449-92.931l12.238-241.308L1705.06,1318.313z",
linesData: [{fromName: '西城区',        // 飞线起始位置toName: '海淀区',          // 飞线结束位置coords: [[116.36567, 39.912028],    // 飞线起始位置[116.23328, 40.026927]     // 飞线结束位置],value: 100},{fromName: '怀柔区',toName: '海淀区',coords: [[116.586079, 40.63069],[116.23328, 40.026927]],value: 100},
],
mounted() {this.initMapEcharts();
},
initMapEcharts() {let zhenjie = "海淀区";  // 自己命名let data = testjson.features;let mapList = testjson;// 获取echarts盒子并初始化this.sjfbEcharts = this.$echarts.init(document.getElementById("linesecharts")); this.$echarts.registerMap(zhenjie, mapList);let options = {geo: {type: "map",map: zhenjie, //chinaMap需要与registerMao中的变量名称保持一致raom: false,itemStyle: {normal: {areaColor: "rgb(4,46,84)",borderColor: "#fff",},emphasis: {areaColor: "#389bb7", //鼠标指上市时的颜色},},label: {normal: {position: "bottom",show: true, //不显示textStyle: {// 地图上散点的字体样式fontSize: 16,fontWeight: "400",color: "#fff", // 点上字的颜色},},emphasis: {show: true,},},},series: [// 地图配置{name: "海淀区信息",type: "map",map: zhenjie,label: {show: true, //是否显示市normal: {textStyle: {fontSize: 12,fontWeight: "bold",color: "#fff",},},},zoom: 1.2,data: data,itemStyle: {normal: {label: { show: true },color: "#F4F4F4",areaColor: "#1E62AC",borderColor: "#53D9FF",borderWidth: 1.3,shadowBlur: 15,shadowColor: "rgb(58,115,192)",shadowOffsetX: 4,shadowOffsetY: 4,},// 鼠标移入地区的样式emphasis: {label: { show: true, color: "#fff" },borderWidth: 3,borderColor: "#1eccc6",areaColor: "#07b4af",shadowColor: "#1eccc6",shadowBlur: 15,},},},// 飞线配置{type: "lines",zlevel: 2,effect: {show: true,period: 5, // 箭头指向速度,值越小速度越快trailLength: 0, // 特效尾迹长度[0,1]值越大,尾迹越长重symbol: this.planePath, // 飞机图标symbolSize: 15, // 图标大小color: "#01AAED",},// 可以配置自己的飞线图标// effect: {//     show: true,//     period: 5, // 箭头指向速度,值越小速度越快//     trailLength: 0, // 特效尾迹长度[0,1]值越大,尾迹越长重//     symbol: this.planePath, // 飞机图标//     symbolSize: 15, // 图标大小//     color: "#01AAED",// },lineStyle: {normal: {width: 0.8, // 尾迹线条宽度opacity: 1, // 尾迹线条透明度curveness: 0.3, // 尾迹线条曲直度},},data: this.linesData,},],};this.sjfbEcharts.setOption(options);setTimeout(() => {window.addEventListener("resize", () => this.sjfbEcharts.resize());}, 0);},

三. 完整代码

<template><div class="linesbox"><div id="linesecharts" style="width: 100%; height: 100%"></div></div>
</template><script>
import * as echarts from "echarts";
import testjson from "./../../utils/bj.json";
export default {data() {return {sjfbEcharts: null,//定义散点坐标scatterData: [{ name: "东城区", value: [116.418757, 39.917544] },{ name: "西城区", value: [116.366794, , 39.915309] },],linesData: [{fromName: '西城区',toName: '海淀区',coords: [[116.36567, 39.912028],[116.23328, 40.026927]],value: 100},{fromName: '怀柔区',toName: '海淀区',coords: [[116.586079, 40.63069],[116.23328, 40.026927]],value: 100},],planePath:"path://M1705.06,1318.313v-89.254l-319.9-221.799l0.073-208.063c0.521-84.662-26.629-121.796-63.961-121.491c-37.332-0.305-64.482,36.829-63.961,121.491l0.073,208.063l-319.9,221.799v89.254l330.343-157.288l12.238,241.308l-134.449,92.931l0.531,42.034l175.125-42.917l175.125,42.917l0.531-42.034l-134.449-92.931l12.238-241.308L1705.06,1318.313z",};},mounted() {this.initMapEcharts();},methods: {initMapEcharts() {let zhenjie = "海淀区";let data = testjson.features;let mapList = testjson;this.sjfbEcharts = this.$echarts.init(document.getElementById("linesecharts"));this.$echarts.registerMap(zhenjie, mapList);let options = {geo: {type: "map",map: zhenjie, //chinaMap需要与registerMao中的变量名称保持一致raom: false,itemStyle: {normal: {areaColor: "rgb(4,46,84)",borderColor: "#fff",},emphasis: {areaColor: "#389bb7", //鼠标指上市时的颜色},},label: {normal: {position: "bottom",show: true, //不显示textStyle: {// 地图上散点的字体样式fontSize: 16,fontWeight: "400",color: "#fff", // 点上字的颜色},},emphasis: {show: true,},},},series: [{name: "海淀区信息",type: "map",map: zhenjie,label: {show: true, //是否显示市normal: {textStyle: {fontSize: 12,fontWeight: "bold",color: "#fff",},},},zoom: 1.2,data: data,itemStyle: {normal: {label: { show: true },color: "#F4F4F4",areaColor: "#1E62AC",borderColor: "#53D9FF",borderWidth: 1.3,shadowBlur: 15,shadowColor: "rgb(58,115,192)",shadowOffsetX: 4,shadowOffsetY: 4,},// 鼠标移入地区的样式emphasis: {label: { show: true, color: "#fff" },borderWidth: 3,borderColor: "#1eccc6",areaColor: "#07b4af",shadowColor: "#1eccc6",shadowBlur: 15,},},},{//飞线图参数type: "lines",zlevel: 2,effect: {show: true,period: 5, // 箭头指向速度,值越小速度越快trailLength: 0, // 特效尾迹长度[0,1]值越大,尾迹越长重symbol: this.planePath, // 飞机图标symbolSize: 15, // 图标大小color: "#01AAED",},// lineStyle: {//     normal: {//         width: 0.8, // 尾迹线条宽度//         opacity: 1, // 尾迹线条透明度//         curveness: 0.3, // 尾迹线条曲直度//     },// },// effect: {//     show: true,//     period: 3,          // 箭头指向速度,值越小速度越快//     trailLength: 0.2,   // 特效尾迹长度[0,1]值越大,尾迹越长重//     symbol: "circle",   // 箭头图标circle//     symbolSize: 4,      // 图标大小//     color:'#fff',       // 流动的颜色// },lineStyle: {normal: {width: 0.8,     // 尾迹线条宽度opacity:1,      // 尾迹线条透明度curveness: 0.3, // 尾迹线条曲直度},},data: this.linesData,}],};this.sjfbEcharts.setOption(options);setTimeout(() => {window.addEventListener("resize", () => this.sjfbEcharts.resize());}, 0);},},
};
</script><style lang="less" scoped>
.linesbox {width: 100%;height: 100%;
}
</style>

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

动态面板简介以及ERP原型图案列

动态面板简介以及ERP原型图案列 1.Axure动态面板简介2.使用Axure制作ERP登录界面3.使用Asure完成左侧菜单栏4.使用Axuer完成公告栏5.使用Axuer完成左边侧边栏 1.Axure动态面板简介 在Axure RP中&#xff0c;动态面板是一种强大的交互设计工具&#xff0c;它允许你创建可交互的…

mysql数据库损坏后重装,数据库备份

重装 先卸载 sudo apt-get remove --purge mysql-server mysql-client mysql-common sudo apt-get autoremove sudo apt-get autoclean 然后重新安装MySQL: sudo apt-get install mysql-server mysql-client 首先要先使用无密码登录数据库一定要使用 sudo mysql -uroo…

C#Winform菜鸟驿站管理系统-快递信息管理界面多条件查询实现方法

1&#xff0c;具体的页面设计如下&#xff0c; 2&#xff0c; 关于下拉框数据填充实现&#xff0c;站点选择代码实现如下&#xff0c;因为站点加载在很多界面需要用到&#xff0c;所以把加载站点的方法独立出来如下&#xff1b; /// <summary>/// 加载站点下拉框/// <…

SaaS行业分析

文章目录 什么是SaaS ?SaaS的标准定义什么是软件即服务&#xff1f;SaaS与传统软件的区别 &#xff1f; SaaS行业分析你知道最赚钱的行业是什么&#xff1f;互联网带给企业的变化 SaaS与PaaS、IaaS的区别&#xff1f;IaaS&#xff08;Infrastructure as a Service&#xff09;…

配置VRRP负载分担示例

一、组网需求&#xff1a; HostA和HostC通过Switch双归属到SwitchA和SwitchB。为减轻SwitchA上数据流量的承载压力&#xff0c;HostA以SwitchA为默认网关接入Internet&#xff0c;SwitchB作为备份网关&#xff1b;HostC以SwitchB为默认网关接入Internet&#xff0c;SwitchA作为…

基于YOLOv8深度学习的高精度车辆行人检测与计数系统【python源码+Pyqt5界面+数据集+训练代码】目标检测、深度学习实战

《博主简介》 小伙伴们好&#xff0c;我是阿旭。专注于人工智能、AIGC、python、计算机视觉相关分享研究。 ✌更多学习资源&#xff0c;可关注公-仲-hao:【阿旭算法与机器学习】&#xff0c;共同学习交流~ &#x1f44d;感谢小伙伴们点赞、关注&#xff01; 《------往期经典推…

介绍一款低代码数据可视化平台

一、前言 随着企业数字化拉开序幕&#xff0c;低代码( Low Code Development)开发的概念开始火起来&#xff0c;即用少量的代码就能开发复杂的业务系统。然后更进一步&#xff0c;由此又催生出一个新的概念&#xff1a;无代码开发( No Code Development)。 低代码和无代码开发平…

Docker单点部署 Elasticsearch + Kibana [8.11.3]

文章目录 一、Elasticsearch二、Kibana三、访问四、其他 Elasticsearch 和 Kibana 版本一般需要保持一致才能一起使用&#xff0c;但是从 8.x.x开始&#xff0c;安全验证不断加强&#xff0c;甚至8.x.x之间的版本安全验证方法都不一样&#xff0c;真的很恼火。 这里记录一次成…

娱乐新拐点:TikTok如何改变我们的日常生活?

在数字时代的浪潮中&#xff0c;社交媒体平台不断涌现&#xff0c;其中TikTok以其独特的短视频内容在全球范围内掀起了一场娱乐革命。本文将深入探讨TikTok如何改变我们的日常生活&#xff0c;从社交互动、文化传播到个人创意表达&#xff0c;逐步改写了娱乐的新篇章。 短视频潮…

idea2023解决右键没有Servlet的问题

复制Servlet Class.java中的文件。 回到文件&#xff0c;然后点击小加号 然后输入刚刚复制的东西&#xff1a; 3. 此时右键有servlet。 4. 然后他让你输入下面两个框&#xff1a; JAVAEE TYPE中输入Servlet Class Name 表示你要创建的Servlet类的名称是什么。自己起名字。然后…

手动添加Git Bash Here到右键菜单(超详细)

通过WindowsR快捷键可以打开“运行窗口”&#xff0c;在“窗口”中输入“regedit”&#xff0c;点击“确定”打开注册表。 依次进入HKEY_CLASSES_ROOT —-》 Directory —-》Background —-》 shell 路径为Computer\HKEY_CLASSES_ROOT\Directory\Background\shell 3.在“s…

状态的一致性和FlinkSQL

状态一致性 一致性其实就是结果的正确性。精确一次是指数据有可能被处理多次&#xff0c;但是结果只有一个。 三个级别&#xff1a; 最多一次&#xff1a;1次或0次&#xff0c;有可能丢数据至少一次&#xff1a;1次或n次&#xff0c;出错可能会重试 输入端只要可以做到数据重…

[每周一更]-(第27期):HTTP压测工具之wrk

[补充完善往期内容] wrk是一款简单的HTTP压测工具,托管在Github上,https://github.com/wg/wrkwrk 的一个很好的特性就是能用很少的线程压出很大的并发量. 原因是它使用了一些操作系统特定的高性能 io 机制, 比如 select, epoll, kqueue 等. 其实它是复用了 redis 的 ae 异步事…

Android APP 常见概念与 adb 命令

adb 的概念 adb 即 Android Debug Bridge 。在窗口输入 adb 即可显示帮助文档。adb 实际上就是在后台开启一个 server&#xff0c;会接收 adb 的命令然后帮助管理&#xff0c;控制&#xff0c;查看设备的状态、信息等&#xff0c;是开发、测试 Android 相关程序的最常用手段。…

Centos系统pnpm升级报错 ERR_PNPM_NO_GLOBAL_BIN_DIR

在 CentOS 系统中使用 pnpm i -g pnpm 报错&#xff1a;ERR_PNPM_NO_GLOBAL_BIN_DIR Unable to find the global bin directory&#xff0c;折腾半天终于解决了。 完整报错信息 [rootVM-8 test]# pnpm i -g pnpm Nothing to stop. No server is running for the store at /roo…

linux20day 排序sort 字符处理cut cpu使用占比排序 awk文本数据处理

目录 1、排序sort参数用法排序&#xff08;-n&#xff09;从大到小 倒叙&#xff08;-r&#xff09; cpu使用占比排序&#xff08;ps aux --sort -%cpu&#xff09; 2、截取到某个字符串 cut3、awk处理文本文件用法&#xff1a;打印等于 和不等于 1、排序sort 经常用于排序 参…

数据分析的基本步骤

了解过数据分析的概念之后&#xff0c;我们再来说下数据分析的常规步骤。 明确目标 首先我们要确定一个目标&#xff0c;即我们要从数据中得到什么。比如我们要看某个指标A随时间的变化趋势&#xff0c;以期进行简单的预测。 数据收集 当确定了目标之后&#xff0c;就有了取…

js逆向-JS加密破解进阶

目录 一、JS逆向进阶一&#xff1a;破解AES加密 &#xff08;一&#xff09;AES对称加密算法原理 &#xff08;二&#xff09;破解AES加密 &#xff08;三&#xff09;实战&#xff1a;发现报告网 二、JS逆向进阶二&#xff1a;破解RSA加密 &#xff08;一&#xff09;RS…

gRPC 一种现代、开源、高性能的远程过程调用 (RPC) 可以在任何地方运行的框架

背景介绍 gRPC 是一种现代开源高性能远程过程调用 &#xff08;RPC&#xff09; 可以在任何环境中运行的框架。它可以有效地连接服务 在数据中心内和数据中心之间&#xff0c;具有对负载平衡、跟踪、 运行状况检查和身份验证。它也适用于最后一英里 分布式计算&#xff0c;用于…

P20类神经网络训练不起来怎么办?- 批次和动量

什么是batchsmall batch 和 large batch 的比较 &#xff1a; large batch 更快&#xff0c;small batch 在训练集和测试集上效果效果更好动量的意义和作用&#xff1a; 类似于物理上多了一点惯性&#xff0c;防止困在鞍点。 动量是之前所有梯度的加权和。 1. batch 是什么 …