1、需求:根据数据渲染航线图

  1. 通过vue+echarts 实现

  1. 过程中遇到bug:切换数据时,浏览器出现崩溃,原因是将echarts 实例定义在了vue的data 中

  1. 需要将echarts 实例定在script标签中,定义为全局变量

<template><div class="container"><div @click="handleChangeDate()">切换日期</div><div id="echarts-map"></div></div>
</template>
<script>
import world from "@/assets/world.json";
import tradeData1 from "@/assets/libs/data1.json";
import tradeData2 from "@/assets/libs/data2.json";
import * as echarts from "echarts";
let list = [];
let myChart = null;
export default {data() {return {pointArr:[],option:{},serieslinesData:[]};},beforeMount(){ },mounted() {var chartDom = document.getElementById("echarts-map");myChart = echarts.init(chartDom);// 1号jsonlist = tradeData1this.getSerieslines()this.drawChart();},methods: {// 切换日期handleChangeDate(){// 2号jsonlist = tradeData2myChart.clear()this.getSerieslines()this.$nextTick(()=>{this.option.series = this.serieslinesData;myChart.setOption(this.option,true);})},// 处理数据getSerieslines() {let res = [];list.forEach((item) => {this.pointArr.push({ value: item.source, },{ value: item.target,});res.push(this.getPontLine(item.flightNumber, [item.source, item.target]));res.push(this.getPoint())});this.serieslinesData = res;},// init chartdrawChart() {// 画背景echarts.registerMap("world", world);this.option = {backgroundColor: "#000", //背景色geo: {id: "world",map: "world",// 是否开启鼠标缩放和平移漫游 默认不开启 如果只想要开启缩放或者平移,可以设置成 'scale' 或者 'move' 设置成 true 为都开启roam: false,// 图形上的文本标签label: {show: false, // 是否显示对应地名},zoom: 1,// 地图区域的多边形 图形样式itemStyle: {borderWidth: 0.5, // 描边线宽 为 0 时无描边normal: {areaColor: "#29323c", //地图前景色borderColor: "#29323c", // 国界边框色},},legend: {selectedMode: false,},// 高亮状态下的多边形和标签样式emphasis: {label: {show: false, // 是否显示标签color: "#29323c", // 文字的颜色 如果设置为 'auto',则为视觉映射得到的颜色,如系列色},itemStyle: {areaColor: "#29323c", // 地图悬浮颜色},lineStyle: {color: ''}},// 自定义地区的名称映射nameMap: name,// 地图系列中的数据内容数组 数组项可以为单个数值},series: this.serieslinesData,tooltip: {trigger: "item",show: false},};myChart.clear();myChart.setOption(this.option,true);},getPoint() {return {type: "scatter",coordinateSystem: "geo",geoIndex: 0,zlevel: 4,label: {formatter: "{b}",position: "bottom",color: "#fff",fontSize: 12,distance: 10,show: true,},symbol: "circle",symbolSize: 3,itemStyle: {color: "rgb(22,255,255, 1)",// color: "#9F98FA",opacity: 1,},silent: true,data: this.pointArr,}},getPontLine(flightNumber, coords, color = "", width = 1) {return {name: flightNumber,type: "lines", //  飞行的路径线zlevel: 1,large: true,effect: {//  尾迹特效 需要单独 放在一个层show: true,period: 3, // 动画时间  -- 设置后 同时到达// constantSpeed:50,//配置特效图形的移动动画是否是固定速度,单位像素/秒,设置为大于 0 的值后会忽略 period 配置项trailLength: 0, // 特效尾迹的长度color: "#fff",symbolSize: 3,},blendMode: 'lighter',lineStyle: {normal: {color,width,curveness: 0.17, // 边的 曲度},emphasis: {color,}},data: [{fromName: "",toName: "",coords,},],}},},
};
</script><style lang="scss" scoped>
.container {height: 100%;width: 100%;
}#echarts-map {background-color: #333333;height: 100%;width: 100%;
}
</style>

echarts 渲染航线图相关推荐

  1. echarts5.0引入地图,背景渐变色,航线图,地图阴影

    效果图如下,文章末尾附全部代码:  参考: 1.航线图 Vue Echarts飞机航线图_Kinghiee的博客-CSDN博客 2.地图阴影 echarts中国地图实现阴影效果&自定义设置_K ...

  2. echarts渲染一个风向图

    今天给大家说一个用echarts渲染一个风向图,这里图上其实有三个要素,风向,风级和能见度,主要还是讲讲代码里面的坑 1.风向图标方向修改以及设置 var ownData = echarts.util ...

  3. echart 时间滚动_基于 ECharts 封装甘特图并实现自动滚屏

    项目中需要用到甘特图组件,之前的图表一直基于 EChart 开发,但 EChart 本身没有甘特图组件,需要自行封装 经过一番鏖战,终于完成了... 我在工程中参考 v-chart 封装了一套图表组件 ...

  4. vue中使用ECharts实现折线图和饼图

    在开发后台管理项目时,需要统计后台用户数据,以折线图和饼图的形式显示,这边采用apache-echarts来实现需求. 1.安装echarts和引入 npm install echarts --sav ...

  5. JavaScript高德地图中绘制echarts图表随地图移动

    JavaScript高德地图中绘制echarts图表随地图移动** 先上效果图 实现方法如下: 使用高德地图"信息窗体",信息窗体AMap.InfoWindow的属性content ...

  6. echarts 热点泡泡图

    echarts 热点泡泡图 1 .引入echarts的js文件 2.在html中定义echarts位置 3.在js中构造渲染echarts 4.效果显示 1 .引入echarts的js文件 <s ...

  7. 【Pyecharts|GEO-Lines】全球航线图的绘制

    前言 航线图是基于Echarts官网的示例航线图通过Pyecharts来实现的,当然由于Pyecharts还是诸多限制,并不能100%还原. 本次实现了全球机场分布图和航线图效果(支持切换航司): 全 ...

  8. 浅谈 leaflet 地图插件的使用(制作飞机航线图)

    前沿 接到需求飞行航班地图 需求整理 1.获取后台接口数据,且定时请求数据并渲染,体现航班的动态效果 2.在地图上分布给每组数据设同样的图标 3.给循环的marker设置鼠标事件(移入移出样式设置), ...

  9. 通过新浪股票接口 实现 Echarts K线图

    股票行情K线图的效果 找到一个好的接口很重要~~(之前自己搜罗的一个接口查回来的数据 JSON  key不带引号 恶心的一匹 然后 数据也不是很好用,直接舍弃) 股票行情图接口-日K历史数据 请求 ( ...

最新文章

  1. 《Android应用开发》——1.3节配置Eclipse
  2. jvm类加载、初始化
  3. python panda读取csv_python pandas 中文件的读写——read_csv()读取文件
  4. shell中if条件之数值的比较方法
  5. UML学习——类图(三)
  6. 2021“MINIEYE杯”中国大学生算法设计超级联赛(2)I love max and multiply(转化)
  7. 0限流电阻 stm32_上/下拉电阻
  8. gdal数据类型_科学网-gdal数据类型的代码的核心定义文件-林清莹的博文
  9. java格式化word文档_Java如何格式化word文档中的文本?
  10. 转:短小强悍的JavaScript异步调用库
  11. 惠普星14 指纹识别功能安装
  12. 详细微信小程序API文档
  13. 集合论—关系的自反、对称和传递闭包
  14. 升级LTS长期支持版|奇点云数据云平台发布DataSimba R3.8
  15. 如何将小程序代码上传到腾讯云服务器
  16. 系统检测到您疑似使用网页抓取工具访问本_12款最常使用的网络爬虫工具推荐...
  17. 移动端小案例(黑马面面)
  18. python报考软考哪个比较好_软考考什么比较好?
  19. C# CheckedListBox控件的用法 .
  20. Python最简单的文字游戏——数字炸弹

热门文章

  1. P图片放大不失真方法
  2. 实战篇-OpenSSL之调用EVP框架实现AES多种加密模式
  3. linux ramdisk 工具,Linux下用Busy Box制作Ramdisk全过程(转帖+部分完善) - 薛正华的专栏 - CSDN博客.pdf...
  4. Server Tomcat v7.0 Server at localhost failed to start.错误可能原因之一
  5. 教程-OBS刷课(岗位证)
  6. 计算机元器件发展阶段,详解中国电子元器件的不同发展阶段
  7. 【Flutter】ListView 列表高级功能 ( RefreshIndicator 下拉刷新组件 )
  8. EXCEL筛选重复记录
  9. 【第2篇】GooLeNet
  10. 提升效率,从这款智能挂灯开始