使用echarts 画地球 带lines3D 并有动画效果

代码

  //绘制地球
      var canvas = document.createElement("canvas");
      var texture = this.Echarts.init(canvas, null, {
        width: 4096,
        height: 2048,
      });
      texture.setOption({
        backgroundColor: "rgba(3,28,72,0.3)",
        geo: {
          type: "map",
          map: "world",
          top: 0,
          left: 0,
          right: 0,
          bottom: 0,
          silent: false, //图形是否不响应和触发鼠标事件
          boundingCoords: [
            [-180, 90],
            [180, -90],
          ],
          itemStyle: {
            normal: {
              borderColor: "#3fdaff",
              borderWidth: 2,
              areaColor: "transparent",
            },
            emphasis: {
              areaColor: "#389BB7",
              borderWidth: 0,
            },
          },
          nameMap: nameMap,
          label: {
            show: false,
            formatter: "{a}",
            textStyle: {
              color: "red",
              fontSize: 30,
            },
          },
          emphasis: {
            label: {
              show: true,
              distance: 2,
              formatter: "{b}",
              textStyle: {
                color: "#2038cc",
                fontSize: 30,
              },
            },
          },
        },
        series: [
          {
            type: "effectScatter",
            coordinateSystem: "geo",
            zlevel: 3,
            symbolSize: 20,
            rippleEffect: {
              period: 4,
              brushType: "stroke",
              scale: 4,
            },
            label: {
              normal: {
                show: false,
                position: "left",
                fontSize: 18,
                formatter: "{b}",
              },
            },
            itemStyle: {
              normal: {
                color: "red",
              },
            },
            emphasis: {
              label: {
                show: true,
                color: "red",
                fontSize: 30,
              },
              itemStyle: {
                symbolSize: 25,
              },
            },
            data: [
              { name: "香港", value: [114.15, 22.15] },
              { name: "台湾", value: [121.5, 25.05] },
              { name: "菲律宾", value: [120, 15] },
              { name: "美国", value: [-77.013222, 38.913611] },
              { name: "缅甸", value: [96.066023, 20.08684] },
            ],
          },
        ],
      });
      var option = {
        globe: {
          show: true,
          shading: "lambert",
          baseTexture: texture,
          // baseTexture: 'assets/images/world.jpg',
          // heightTexture:'../assets/images/world.jpg',
          light: {
            ambient: {
              //环境光强度
              intensity: 1,
            },
            main: {
              //主光源强度
              intensity: 0.8,
            },
          },
          //视角控制
          viewControl: {
            rotateSensitivity: 3, //鼠标旋转灵敏度,设置为0后无法旋转。
            zoomSensitivity: 3, //鼠标缩放灵敏度
            autoRotate: true, //自动旋转
            autoRotateAfterStill: 1, //鼠标停止后多久恢复旋转(为0时暂停后不恢复旋转)
            alpha:160,//视角绕 x 轴,即上下旋转的角度
            beta:-20,//视角绕 y 轴,即左右旋转的角度。
            // targetCoord: [120.52, 30.4], //定位到哪里
          },
        },
        series: [
          {
            type: "scatter3D",
            coordinateSystem: "globe",
            symbol: "circle",
            symbolSize: 6,
            itemStyle: {
              color: "#64f2ff",
            },
            emphasis: {
              itemStyle: {
                borderColor: "yellow",
              },
              label: {
                show: true,
                formatter: "{b}",
                position: "bottom",
              },
            },
            data: [
              { name: "上海", value: [120.52, 30.4] }, //东经  北纬
              { name: "福建", value: [119.313244, 26.083285] },
              { name: "广州", value: [113.261081, 23.153679] },
              { name: "重庆", value: [106.564186, 29.554545] },
              { name: "杭州", value: [120.210336, 30.261318] },
              { name: "南宁", value: [108.366555, 22.813813] },
              { name: "南京", value: [118.808171, 32.0835] },
              { name: "北京", value: [116.407063, 39.916901] },
              { name: "济南", value: [117.08328, 36.664197] },
              { name: "天津", value: [117.150024, 39.114174] },
              { name: "西安", value: [108.952789, 34.364196] },
              { name: "成都", value: [104.076769, 30.596155] },
              { name: "乌鲁木齐", value: [82.625682, 43.664149] },
              { name: "哈尔滨", value: [126.668811, 45.659686] },
              { name: "西宁", value: [100.139909, 36.703785] },
            ],
          },
          {
            type: "lines3D",
            coordinateSystem: "globe",
            // 动画效果
            effect: {
              show: true,
              period: 4, //特效动画的时间,单位为 s
              trailLength: 0.2, //特效尾迹的长度。0~1数值越大尾迹越长
              color: "#64f2ff",
              symbol: "arrow", //箭头图标
              symbolSize: 10, //图标大小
            },
            lineStyle: {
              normal: {
                color: "#00FEFF",
                width: 1,
                curveness: 0.3,
              },
            },
            blendMode: "lighter",
            data: [
              {
                coords: [
                  [120.52, 30.4], //上海
                  [114.15, 22.15], //香港
                ],
              },
              {
                coords: [
                  [119.313244, 26.083285], //福建
                  [114.15, 22.15], //香港
                ],
              },
              {
                coords: [
                  [113.261081, 23.153679], //广州
                  [114.15, 22.15], //香港
                ],
              },

              {
                coords: [
                  [126.668811, 45.659686], //哈尔滨
                  [114.15, 22.15], //香港
                ],
              },

              {
                coords: [
                  [106.564186, 29.554545], //重庆
                  [121.5, 25.05], //台湾
                ],
              },
              {
                coords: [
                  [100.139909, 36.703785], //西宁
                  [121.5, 25.05], //台湾
                ],
              },
              {
                coords: [
                  [120.210336, 30.261318], //杭州
                  [121.5, 25.05], //台湾
                ],
              },

              {
                coords: [
                  [82.625682, 43.664149], //乌鲁木齐
                  [121.5, 25.05], //台湾
                ],
              },
              {
                coords: [
                  [108.366555, 22.813813], //南宁
                  [121.5, 25.05], //台湾
                ],
              },
              {
                coords: [
                  [118.808171, 32.0835], //南京
                  [120, 15], //菲律宾
                ],
              },

              {
                coords: [
                  [116.407063, 39.916901], //北京
                  [120, 15], //菲律宾
                ],
              },
              {
                coords: [
                  [117.08328, 36.664197], //济南
                  [-77.013222, 38.913611], //美国
                ],
              },
              {
                coords: [
                  [117.150024, 39.114174], //天津
                  [-77.013222, 38.913611], //美国
                ],
              },
              {
                coords: [
                  [108.366555, 22.813813], //南宁
                  [-77.013222, 38.913611], //美国
                ],
              },
              {
                coords: [
                  [104.076769, 30.596155], //成都
                  [96.066023, 20.08684], //缅甸
                ],
              },
              {
                coords: [
                  [108.952789, 34.364196], //西安
                  [96.066023, 20.08684], //缅甸
                ],
              },
            ],
          },
        ],
      };
      this.chart.setOption(option);
  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: echarts3d地图飞线效果指的是通过使用echarts3d插件来实现地图上的飞线动画效果echarts3d是一款基于JavaScript的可视化图表库,能够帮助用户轻松创建各种动态、交互性的图表。 要实现地图飞线效果,首先需要引入echarts3d插件,并加载相关的地图数据。然后,在echarts3d提供的配置中,设置多个起点和终点坐标,根据坐标信息绘制出对应的连线。 接下来,可以通过设置图表的样式和动画效果来实现飞线的效果。可以设置连线的颜色、粗细,以及起点和终点的标记形状和颜色等。为了实现动画效果,可以设置连线的透明度、延迟和持续时间等属性,使连线在地图上呈现出移动的效果。 此外,可以通过设置图表的交互功能,使用户可以通过鼠标移动和缩放来浏览地图,并与飞线进行交互。通过添加鼠标事件和回调函数,可以实现鼠标悬停时的高亮效果,点击时的弹出信息窗口等交互操作。 总之,echarts3d地图飞线效果通过使用echarts3d插件,绘制地图和连线,并通过配置样式和动画效果,以及添加交互功能来实现。这种飞线效果可以使地图更加生动和有趣,帮助用户更好地理解和分析地理数据。 ### 回答2: Echarts3D地图飞线效果Echarts库中的一种可视化效果,可以展示地理关系的动态连接。该效果利用地理坐标,将各个地点通过曲线飞线的方式连接起来,形成动态的数据流动效果。 要实现Echarts3D地图飞线效果,首先需要准备好数据,包括地点的经纬度和数据的数值。然后在Echarts图表中添加地理坐标系,配置好相关参数,并引入Echarts3D插件。 通过设置地图的初始视角、地点的标记和数值,以及曲线的配置,可以使得地图上的数据点按照指定的路径飞线连接。你可以设置曲线的颜色、粗细、动画效果等参数,以使得飞线效果更加醒目动态。 此外,你还可以通过配置相关参数,使得飞线的路径和数值能够适应不同的数据需求,例如配置线条的颜色渐变、设置曲线的弯曲度、更改飞线的速度等等。这些配置参数都可以根据你的实际需求进行调整。 总之,Echarts3D地图飞线效果提供了一种直观而动态的数据展示方式,帮助我们更好地理解地理关系和数据之间的联系。通过合理配置参数和数据,我们可以创造出各种各样的地图飞线效果,将数据可视化呈现,提升数据分析和展示的效果。 ### 回答3: ECharts 是一款基于JavaScript的可视化库,提供了丰富的图表类型以及交互功能。其中 ECharts 3D 地图飞线效果是该库的一个独特的功能,可以用于展示地理数据之间的关联关系。 ECharts 3D 地图飞线效果主要包括两个部分:折线地图和飞线动画。首先,我们可以使用 ECharts 的地图类型(如 scatter3Dlines3D)来绘制一个折线地图,将地理数据可视化展现出来。通过设置相应的经纬度坐标以及其他数据属性,可以在地图上绘制出各个地点的标记点。 接下来,通过配置飞线动画的特效参数,可以实现地理数据之间的飞线效果。通过定义起点和终点的经纬度坐标,以及飞线的属性(如颜色、宽度、透明度等),ECharts 可以自动生成一条飞线路径,并在地图上进行动画展示。 在飞线动画中,可以通过设置飞行时间、延迟等参数来控制效果的展示和流畅度。此外,可以通过配置文本标签等样式属性,将飞线上的数据信息以文字形式展示出来,增强了地理数据之间的可视化效果和交互性。 综上所述,ECharts 3D 地图飞线效果通过折线地图和飞线动画的结合,能够直观地展示地理数据之间的关联关系。用户可以通过设置经纬度、属性参数以及动画特效等自定义地理数据的可视化呈现方式,从而实现丰富多样的数据展示效果

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值