echarts实现飞机飞往各地

复制代码
<script>
import * as echarts from 'echarts';
import datajson from '../../assets/world.json'
echarts.registerMap('world',datajson)



export default {
  name: 'ecahrts',
  data () {
    return {


      opt:{
        backgroundColor:'transparent',
        geo:{
          map:"world",
          roam:true,
          zoom:1.3,
          label:{
            emphasis:{
              show:false
            }
          },
          itemStyle:{ //地图正常和鼠标
            normal:{
              areaColor:"#16213e",
              borderColor:"#5b66a1",
            },
            emphasis:{
              areaColor:"#2a333d"
            }
          },
          regions:[
            {
              name:'China', //中国地图样式
              itemStyle:{
                normal:{
                  opacity:0.4,
                  borderColor:"#ffd591",
                  borderWidth:3,
                  areaColor:"#485377",

                }
              }
            }
          ]
        }
      }
    }
  },
  mounted () {
    var series = [
      {
        name:'track',
        type:'effectScatter',
        coordinateSystem:'geo',
        zlevel:2,
        rippleEffect:{
          brushType:'stroke'
        },
        label:{
          normal:{
            show:true,
            position:'right',
            formatter:'{b}'
          }
        },
        symbolSize:15,
        itemStyle:{
          normal:{
            color:"#a6c84c"
          }
        },
        data:trackData.map(function(dataItem){
          return {
            name:dataItem[1].name,
            value:geoData[dataItem[1].name].concat(dataItem[1].icon)
          }
        }),
        symbol:function(val){
          return "image://./static/images/"+val[2]
        }

      },{
        name:'track',
        type:'lines',
        zlevel:2,
        effect:{
          show:true,
          period:6,
          trailLength:0,
          symbol:'image://./static/images/飞机(1).png',
          symbolSize:15
        },
        lineStyle:{
          color:'#a6c84c',
          width:1,
          opacity:0.5,
          curveness:0.3
        },
        data:this.CoverData(trackData)
      }
    ]
    this.opt.series = series
    var chart = echarts.init(document.getElementById("ecahts"))
    chart.setOption(this.opt)
	 
	},
	methods:{
    CoverData(data){
      var arr= [ ]
      data.forEach(item=>{
        var fromData = geoData[item[0].name]
        var toData = geoData[item[1].name]
        if(fromData&&toData){
          arr.push({
            coords:[fromData,toData]
          })
        }
      })
      return arr;
    }
},
watch:{
    
}
}
</script>

</style>

Cockos Incorporated | LICEcap

相关推荐
韩曙亮23 分钟前
【Web APIs】元素滚动 scroll 系列属性 ② ( 右侧固定侧边栏 )
前端·javascript·bom·window·web apis·pageyoffset
珑墨24 分钟前
【浏览器】页面加载原理详解
前端·javascript·c++·node.js·edge浏览器
FreeBuf_25 分钟前
Next.js 发布扫描工具:检测并修复受 React2Shell 漏洞(CVE-2025-66478)影响的应用
开发语言·javascript·ecmascript
LYFlied1 小时前
在AI时代,前端开发者如何构建全栈开发视野与核心竞争力
前端·人工智能·后端·ai·全栈
用户47949283569151 小时前
我只是给Typescript提个 typo PR,为什么还要签协议?
前端·后端·开源
馬致远1 小时前
Vue -组件入门
javascript·vue.js·ecmascript
程序员爱钓鱼1 小时前
Next.js SSR 项目生产部署全攻略
前端·next.js·trae
程序员爱钓鱼1 小时前
使用Git 实现Hugo热更新部署方案(零停机、自动上线)
前端·next.js·trae
御形封灵2 小时前
基于原生table实现单元格合并、增删
开发语言·javascript·ecmascript
颜颜yan_2 小时前
DevUI + Vue 3 入门实战教程:从零构建AI对话应用
前端·vue.js·人工智能