echarts地图导航飞线与层级穿透

echarts展示地图时,需要导航飞线链接起始国家与目的国家,点击国家展示对应国家放大地图。如图
在这里插入图片描述

echarts版本
  "echarts": "^5.3.0",
  "echarts-countries-js": "^1.0.5",
  "echarts-gl": "^2.0.8",
vue中创建展示项目
<template>
    <div id="echart" style="width: 700px; height: 500px;">213</div>
</template>

<style lang="less">
@import "./index.less";
</style>
<script>
import index from "./index";
export default index;
</script>
地图展示(index.js)
import * as echarts from 'echarts';
import 'echarts-gl';

import map_CN from './utils/map_CN';

import AUT from './utils/AUT.geo.json';
import './utils/word';

import flights from './flights.json';

// 城市、国家 地理坐标
const geoCoordMap = {
   
    '上海': [120.52, 30.40],
    '北京': [115.25, 39.90],
    '重庆': [107.7539, 30.1904],
    '芬兰': [24.909912, 60.169095],
    '美国': [-100.696295, 33.679979],
    '日本': [139.710164, 35.706962],
    '韩国': [126.979208, 37.53875],
    '瑞士': [7.445147, 46.956241],
    '德国': [13.402393, 52.518569],
    '英国': [-0.126608, 51.208425]
};
const CQDestination = [
    [{
   
        name: '重庆'
    }, {
   
        name: "英国",
        value: 70
    }],
    [{
   
        name: '重庆'
    }, {
   
        name: "芬兰",
        value: 80
    }],
    [{
   
        name: '重庆'
    }, {
   
        name: "美国",
        value: 80
    }]
];
// 根据起始位置,获得线的地理位置
const convertData = (data) => {
   
    let res = [];
    for (let i = 0; i < data.length; i++) {
   
        let dataItem = data[i];
        let [fromCoord, toCoord] = [geoCoordMap[dataItem[0].name], geoCoordMap[dataItem[1].name]];
        if (fromCoord && toCoord) res.push([fromCoord, toCoord]);
    }
    return res;
}
//汉化国家名字
const translateName = () => {
   
    for (let key in map_CN) {
     
        map_CN[key.toLowerCase()] = map_CN[key];
    }
}
export default {
   
    data() {
   
        return {
   
        }
    },
    methods: {
   
        createEcharts() {
   
            translateName();
            let series2d = [];
            const CQDatas = [['重庆', CQDestination]]

            CQDatas.forEach(function (item) {
   
                // 散点 第一个为目的地散点
                // 第二个为始发地散点
                series2d.push({
   
                    type: 'effectScatter',
                    coordinateSystem: 'geo',
                    zlevel: 3,
                    rippleEffect: {
   
                        brushType: 'stroke'
                    },
                    label: {
   
                        fontSize: 12,
                        show: true,
                        position: 'right',
                        formatter: '{b}'
                    },
                    itemStyle: {
   
                        normal
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: echarts3d地图飞线效果指的是通过使用echarts3d插件来实现地图上的飞线动画效果echarts3d是一款基于JavaScript的可视化图表库,能够帮助用户轻松创建各种动态、交互性的图表。 要实现地图飞线效果,首先需要引入echarts3d插件,并加载相关的地图数据。然后,在echarts3d提供的配置中,设置多个起点和终点坐标,根据坐标信息绘制出对应的连线。 接下来,可以通过设置图表的样式和动画效果来实现飞线效果。可以设置连线的颜色、粗细,以及起点和终点的标记形状和颜色等。为了实现动画效果,可以设置连线的透明度、延迟和持续时间等属性,使连线在地图上呈现出移动的效果。 此外,可以通过设置图表的交互功能,使用户可以通过鼠标移动和缩放来浏览地图,并与飞线进行交互。通过添加鼠标事件和回调函数,可以实现鼠标悬停时的高亮效果,点击时的弹出信息窗口等交互操作。 总之,echarts3d地图飞线效果通过使用echarts3d插件,绘制地图和连线,并通过配置样式和动画效果,以及添加交互功能来实现。这种飞线效果可以使地图更加生动和有趣,帮助用户更好地理解和分析地理数据。 ### 回答2: Echarts3D地图飞线效果Echarts库中的一种可视化效果,可以展示地理关系的动态连接。该效果利用地理坐标,将各个地点通过曲线飞线的方式连接起来,形成动态的数据流动效果。 要实现Echarts3D地图飞线效果,首先需要准备好数据,包括地点的经纬度和数据的数值。然后在Echarts图表中添加地理坐标系,配置好相关参数,并引入Echarts3D插件。 通过设置地图的初始视角、地点的标记和数值,以及曲线的配置,可以使得地图上的数据点按照指定的路径飞线连接。你可以设置曲线的颜色、粗细、动画效果等参数,以使得飞线效果更加醒目动态。 此外,你还可以通过配置相关参数,使得飞线的路径和数值能够适应不同的数据需求,例如配置线条的颜色渐变、设置曲线的弯曲度、更改飞线的速度等等。这些配置参数都可以根据你的实际需求进行调整。 总之,Echarts3D地图飞线效果提供了一种直观而动态的数据展示方式,帮助我们更好地理解地理关系和数据之间的联系。通过合理配置参数和数据,我们可以创造出各种各样的地图飞线效果,将数据可视化呈现,提升数据分析和展示的效果。 ### 回答3: ECharts 是一款基于JavaScript的可视化库,提供了丰富的图表类型以及交互功能。其中 ECharts 3D 地图飞线效果是该库的一个独特的功能,可以用于展示地理数据之间的关联关系。 ECharts 3D 地图飞线效果主要包括两个部分:折线地图和飞线动画。首先,我们可以使用 ECharts 的地图类型(如 scatter3D 或 lines3D)来绘制一个折线地图,将地理数据可视化展现出来。通过设置相应的经纬度坐标以及其他数据属性,可以在地图上绘制出各个地点的标记点。 接下来,通过配置飞线动画的特效参数,可以实现地理数据之间的飞线效果。通过定义起点和终点的经纬度坐标,以及飞线的属性(如颜色、宽度、透明度等),ECharts 可以自动生成一条飞线路径,并在地图上进行动画展示。 在飞线动画中,可以通过设置飞行时间、延迟等参数来控制效果的展示和流畅度。此外,可以通过配置文本标签等样式属性,将飞线上的数据信息以文字形式展示出来,增强了地理数据之间的可视化效果和交互性。 综上所述,ECharts 3D 地图飞线效果通过折线地图和飞线动画的结合,能够直观地展示地理数据之间的关联关系。用户可以通过设置经纬度、属性参数以及动画特效等自定义地理数据的可视化呈现方式,从而实现丰富多样的数据展示效果

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值