echarts3D全球地图飞线效果

这边实现了两种渲染方式,1、图片纹理渲染。2、绘制自定义纹理

需要替换纹理直接把chartOption.globe.baseTexture 改为 '@/assets/image/bigScreen6/world.jpg'

import { ref } from 'vue';
import { graphic } from 'echarts';
import * as echarts from 'echarts';
import 'echarts-gl';
import world from '@/assets/json/world.json';
// import world from '@/assets/image/bigScreen6/world.jpg';

export default function () {
    // 纹理
    echarts.registerMap('world', world);
    let canvas = document.createElement('canvas');
    let myChart2 = echarts.init(canvas, null, {
        width: 4096,
        height: 2048
    });
    myChart2.setOption({
        backgroundColor: 'rgba(3,28,72,0.3)',
        title: {
            show: true
        },
        geo: {
            type: 'map',
            map: 'world',
            left: 0,
            top: 0,
            right: 0,
            bottom: 0,
            boundingCoords: [
                [-180, 90],
                [180, -90]
            ],
            zoom: 0,
            roam: false,
            itemStyle: {
                borderColor: '#000d2d',
                normal: {
                    areaColor: '#2455ad',
                    borderColor: '#000c2d'
                },
                emphasis: {
                    areaColor: '#357cf8'
                }
            },
            label: {
                fontSize: 24
            }
        },
        series: []
    });
    const baseTexture = canvas.toDataURL();

    let chartOption = ref({
        globe: {
            baseTexture: baseTexture, // 地球的纹理
            shading: 'lambert', //地球中三维图形的着色效果
            atmosphere: {
                show: true, //显示大气层
                offset: 8,
                color: '#13315E'
            },
            tooltip: {
                formatter: function (params) {
                    return `<br>攻击数`;
                }
            },
            light: {
                ambient: {
                    intensity: 1 //环境光源强度
                }, //环境光
                main: {
                    intensity: 0.3 //光源强度
                }
            },
            viewControl: {
                autoRotate: true, // 是否开启视角绕物体的自动旋转查看
                autoRotateSpeed: 3, //物体自转的速度,单位为角度 / 秒,默认为10 ,也就是36秒转一圈。
                autoRotateAfterStill: 2, // 在鼠标静止操作后恢复自动旋转的时间间隔,默认 3s
                rotateSensitivity: 2, // 旋转操作的灵敏度,值越大越灵敏.设置为0后无法旋转。[1, 0]只能横向旋转.[0, 1]只能纵向旋转
                targetCoord: [116.46, 39.92] // 定位到北京
            }
        },
        series: [
            {
                type: 'lines3D',
                coordinateSystem: 'globe',
                blendMode: 'lighter',
                lineStyle: {
                    width: 2, // 增加线条宽度
                    color: 'rgb(50, 50, 150)',
                    opacity: 0.6
                },
                data: [
                    [
                        [116.46, 39.92], // 北京
                        [-99.1332, 39.8333] // 美国
                    ],
                    [
                        [116.46, 39.92], // 北京
                        [55.2708, 25.2048] // 阿联酋
                    ],
                    [
                        [116.46, 39.92], // 北京
                        [70.0, -30.0] // 澳大利亚
                    ],
                    [
                        [116.46, 39.92], // 北京
                        [70.0, -30.0] // 澳大利亚
                    ],
                    [
                        [116.46, 39.92], // 北京
                        [70.0, -30.0] // 澳大利亚
                    ]
                ]
            },
            {
                type: 'scatter3D',
                coordinateSystem: 'globe',
                zlevel: 3,
                label: {
                    show: true,
                    position: 'bottom',
                    formatter: '{b}',
                    fontSize: 16
                },
                itemStyle: {
                    color: '#fff'
                },
                data: [
                    { name: '北京', value: [116.46, 39.92] },
                    { name: '美国', value: [-99.1332, 39.8333] },
                    { name: '中国', value: [104.1954, 35.8617] },
                    { name: '阿联酋', value: [55.2708, 25.2048] },
                    { name: '澳大利亚', value: [70.0, -30.0] },
                    { name: '澳大利亚', value: [70.0, -30.0] },
                    { name: '澳大利亚', value: [70.0, -30.0] }
                ]
            }
        ]
    });

    function updateData(value) {}

    return {
        chartOption,
        updateData
    };
}

### 回答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、付费专栏及课程。

余额充值