简介

在可视化大屏中碰到要绘制飞线图的需求,采用Echarts来实现,但是Echarts的世界地图数据会缺失部分数据,引入其他来源的话在网速不好的情况下地图瓦片加载又会很慢,体验感极差;最终通过改造Echarts地图数据实现了如下效果:

详细代码如下

引入Api

import echarts from 'echarts';
// 世界地图数据(更改后的JSON数据)
import world from './geojson/world.json'

开始使用

  • 初始化Echarts
 // 注册世界地图数据echarts.registerMap('world', world)// 初始化let chartDom = document.getElementById('main')if(this.myChart != null && this.myChart != '' && this.myChart != undefined) {this.myChart.dispose()}this.myChart = echarts.init(chartDom)
  • 创建配置项
 // 小飞机图标let 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';// 线路坐标(模拟数据)let LineData = [{'fromName': '加拿大温哥华','toName': '咸阳国际机场','coords': [[-123.023921,49.311753],[108.76463,34.44212]],value: 123},]
// 线路起点坐标
let LineEffectScatterData = []
// 线路终点坐标
let effectScatterData = []
LineData.map((item) => {// 线路起点坐标let objStart = {name: item.fromName,value: item.coords[0]}LineEffectScatterData.push(objStart)// 线路终点坐标let objEnd = {name: item.toName,value: item.coords[1]}effectScatterData.push(objEnd)
})
let series = [];
series.push({type: 'lines',zlevel: 2,effect: {show: true,//飞机的速度  这里是s单位period: 6,trailLength: 0,symbol: planePath,// 飞机大小symbolSize: 16,color:'#ff8800',},lineStyle: {normal: {color:'#8A91BA',type:'dashed', // 虚线// 线条宽度width: 2,opacity: 1,curveness: 0.2, // 弯曲度},emphasis: {color: '#FF9600' //飞线悬浮颜色}},label: {normal: {show: false,position: 'middle',formatter: '{b}'}},data: LineData}, {type: 'effectScatter',coordinateSystem: 'geo',zlevel: 2,rippleEffect: {//涟漪特效period: 4, //动画时间,值越小速度越快brushType: 'stroke', //波纹绘制方式 stroke, fillscale: 4 //波纹圆环最大限制,值越大波纹越大},label: {normal: {show: false,position: 'right', //显示位置offset: [5, 0], //偏移设置formatter: '{b}', //圆环显示文字textStyle: {color: 'red'}},// emphasis: {//     show: true// }},symbol: 'circle',symbolSize: function(val) {return 10; //圆环大小},itemStyle: {normal: {show: false,color: '#E0C896',}},data: LineEffectScatterData},//终点{type: 'effectScatter',coordinateSystem: 'geo',zlevel: 2,rippleEffect: {period: 4,brushType: 'stroke',scale: 4},label: {normal: {show: false,position: 'right', //显示位置offset: [5, 0], //偏移设置formatter: '', //圆环显示文字},emphasis: {show: true}},symbol: 'circle',symbolSize: function(val) {return 10; //圆环大小},itemStyle: {normal: {show: true,color: '#FF9300',}},data: effectScatterData}
);let option;
option = {backgroundColor: 'rgba(0,0,0,0)',tooltip: {trigger: 'item',backgroundColor: 'rgba(0,0,0,0)',borderColor: 'rgba(0,0,0,0)',padding: 0,formatter: function(params, ticket, callback) {if (params.seriesType == 'effectScatter') {// 这里可根据自己需要自定义// 起点终点悬浮效果return params.marker+params.data.name;} else if (params.seriesType == 'lines') {// 这里可根据自己需要自定义// 飞线悬浮效果return params.data.fromName + ' -> ' + params.data.toName + '<br />' + params.data.value;}return params.name;},},geo: {map: 'world',label: {emphasis: {show: false}},roam: true, //是否允许缩放scaleLimit: { //滚轮缩放的极限控制min: 1,max: 3},layoutCenter: ['50%', '52%'], //地图位置layoutSize: '130%',itemStyle: {normal: {color: '#6073ae', //地图背景色borderColor: '#6073ae' //省市边界线},emphasis: {color: '#6073ae' //悬浮背景}},// 设置中国地图边界线regions: [{name: 'China',itemStyle: {normal: {borderColor: '#fedc70',borderWidth: 1,areaColor: '#6073ae',// shadowColor: 'rgba(128, 217, 248, 1)',// shadowColor: 'rgba(255, 255, 255, 1)',shadowOffsetX: 0,shadowOffsetY: 0,shadowBlur: 0},emphasis: {color: '#6073ae' //悬浮背景}}}]},series: series
};
  • 加载配置
 option && this.myChart.setOption(option);window.addEventListener('resize', () => {this.myChart.resize()})

地图颜色等配置可自行修改为所需的配置
所需要的world.json文件可在博主资源下载中心自行下载
欢迎指正交流

echarts飞线图相关推荐

  1. Echarts 飞线图

    地图数据 https://datav.aliyun.com/portal/school/atlas/area_selector 不会下载的同学用这个吧「chinaMap.js」https://www. ...

  2. echarts切换飞线图未清空_echarts做飞线图

    飞线图 height:100%; } body{ height:100%; margin:0; padding:0; background-color:#2F4056; } const xhr= ne ...

  3. ECharts+高德卫星地图-飞线图效果

    ECharts+高德地图实现卫星地图-飞线图 加载资源: https://webapi.amap.com/maps?v=1.4.15&key=申请Key(高德开放平台申请key) echart ...

  4. AMap + echarts、google map + d3.js分别实现数据可视化中的飞线图(迁徙图)

    首先肯定是给出demo啦: 演示demo 直接到左侧选择框中选择View taxi flow里面随便选个日期 总体介绍 最近由于工作室项目需要做一个数据可视化平台,这个平台最终是交由国外人使用的.而国 ...

  5. echart地图飞线图

    echart中国地图飞线图(附加省份颜色自定义) 本文参考了模拟迁徙 效果图 1.vue项目安装echart,vue-baidu-map:申请百度地图ak npm install echarts -- ...

  6. 地图飞线图 echart+高德地图实现

    前提:其实这个东西已经做了很久了,但是因为昨天他突然不显示了,所以重新整了一下 实现效果: 一.引入echart的两个js和高德地图 <!-- 引入echarts --> <scri ...

  7. Vue数据可视化组件库,类阿里DataV,提供SVG的边框及装饰,图表,飞线图等组件,简单易用,持续更新...

    由于阿里DataV收费,接口维护略有麻烦,同时也基于兴趣和学习,自己从依赖到组件独立开发了一个组件库,从效果上跟阿里的DataV很像. 主要的组件类型 SVG的边框,主要用于提升页面效果,一个边框组件 ...

  8. echart制作出中国地图飞线图

    先上图片 参考内容:https://www.makeapie.com/editor.html?c=xm7FhEqj6w&v=2 这里直接展示代码,相关的图标,背景,大部分在代码中都做了注释(背 ...

  9. d3.js-V3制作简单的飞线图

    d3.js制作简单的飞线图 简介 期末的一个小作业,放上来分享一下.若有不懂的地方欢迎在评论区提问~ 最终效果图: 使用工具 d3.js (V3版本) 步骤简介 准备好数据. 绘制一个中国地图. 绘制 ...

最新文章

  1. 干货丨除了深度学习,你还应该了解这些发展方向
  2. showModalDialog详解
  3. 《中国人工智能学会通讯》——11.21 结束语
  4. python代码实例sicket_Python socket聊天脚本代码实例
  5. 聚焦效率与目标差距,数据才是远程办公的内核!
  6. go mod常用命令
  7. Javascript ES6 Promise异步链式读取文件解决回调地狱
  8. Linux curl命令简介
  9. 《手把手教你学DSP——基于TMS320F28335》北京航空航天大学出版社-张卿杰等-电子版-PDF
  10. 《推荐系统实战(一)》基于统计的电影推荐系统(tmdb-5000数据集,数据清洗、特征提取、搭建模型等详细过程)
  11. 如何借助OpManager解决存储监控问题?
  12. 明天过节,给将来的程序员们一个神奇的名单。兄弟们看准了(不说他们好坏,只求别去了才知道是传说中的外包)
  13. vue实现大转盘抽奖
  14. c语言实验报告指针数组,C语言实验报告-数组与指针.doc
  15. 幼儿园计算机网络教室工作计划,幼儿园2017-2018学年游戏教学工作计划
  16. PLSQL设置选中字母大小写切换快捷键
  17. 每日一算法:冒泡排序
  18. ios safari 描述文件 跳转到_iOS-app跳转safari及从safari跳回app功能实现
  19. 高德地图定位蓝点不显示问题
  20. POJ1287 (最小生成树) 中文版

热门文章

  1. Ubuntu 11.10安装QQ2012
  2. C#屏蔽Alt+F4组合键
  3. QAndroidJniObject::callStaticObjectMethod参数含义
  4. PearOS官网下载\梨子系统
  5. msm8916的OTG接鼠标可以使用,但是接U盘无法识别。
  6. 运营之光:我的互联网运营方法论与自白学习总结(思维导图)
  7. 阿里easyexcel读取excel流程初探
  8. 2021-09-30 cannot locate default realm
  9. 2020.7.18 T3Ocd(jz暑假训练day4)
  10. 商品库存盘点 门店和仓库 需要盘点的物品都可以使用 多种方式设备可以盘点商品库存 移动智能终端盘点机盘点