echarts实现地图漫入漫出效果

摘要:
1、 要求:效果图如下。各国的数据显示了流入中国的影响(扩散)。2.如何实现前端1.实现方法:使用ecarts。有关详细配置项目,请参见ecarts的官方网站。2.实现分析:地图实现可以使用ecarts的地理组件。地理组件需要导入相应的地图数据。这里的导入方法是导入JSON文件,这些文件是通过AJAX异步加载后手动注册的。

一、需求:效果图如下,各国家数据呈现流入中国效果(漫入)

echarts实现地图漫入漫出效果第1张

二、前端如何实现

1. 实现方式:使用echarts,详细配置项可参见echarts官网

2. 实现分析:

  • 地图实现可使用echarts的geo组件(geo: 地理坐标系). geo组件需要引入对应的地图数据,此处的引入方式是引入JSON 文件,通过 AJAX 异步加载后手动注册。
  • 地图上的线动画效果可使用effect配置
  • 地图上的城市坐标点可使用effectScatter配置

3. 代码如下:

echarts实现地图漫入漫出效果第2张echarts实现地图漫入漫出效果第3张
<template>
  <view-template class="a2-roam">
    <div id="chart"style=" 1360px; height:1200px;"></div>
  </view-template>
</template>
<script>import echarts from 'echarts';

import world from '../assets/mapData/world_geo.json';
import worldGeoCoordMap from '../assets/mapData/worldPosition.js';

export default{
  data() {
    return{
      chart: null,
      color: ['#33ff77', '#fff066', '#00ffff', '#33ff77', '#fff066', '#00ffff', '#33ff77', '#fff066', '#00ffff', '#33ff77'],
      internationalRoamOutDataR: [],
      internationalRoaminDataLR: [],
      internationalRoamOutDataLR: [],
      option1: {
        geo: {
          map: 'world',
          left: 0,
          top: 300,
          right: 0,
          bottom: 100,
          silent: true,
          label: {
            normal: {
              show: false}
          },
          itemStyle: {
            normal: {
              areaColor: '#1d61ea',
              borderColor: '#0c0f26'}
          },
          regions: [
            {
              name: 'China',
              itemStyle: {
                normal: {
                  areaColor: '#e88f65'}
              },
              label: {
                normal: {
                  show: true,
                  fontSize: 30,
                  fontWeight: 'bold',
                  color: '#fff',
                  formatter() {
                    return '中华人民共和国'}
                }
              }
            }
          ]
        },
        tooltip: {
          show: true,
          textStyle: {
            fontSize: 18,
            color: '#fff'}
        },
        series: [
          {
            seriesName: 'lines',
            type: 'lines',
            //使用的坐标系
coordinateSystem: 'geo',
            animation: true,
            zlevel: 10,
            label: {
              normal: {
                show: false},
              emphasis: {
                show: false}
            },
            //线特效的配置
effect: {
              show: true,
              period: 10,
              //color: 'linear-gradient(yellow, white)',
symbol: 'roundRect',
              symbolSize: 5,
              trailLength: 0.5,
              loop: true},
            data: [
              {
                coords: [worldGeoCoordMap['俄罗斯'], worldGeoCoordMap['湖北']],
                lineStyle: {
                  normal: {
                    color: '#00ffff',
                     1,
                    curveness: 0.2}
                }
              },
              {
                coords: [worldGeoCoordMap['加拿大'], worldGeoCoordMap['湖北']],
                lineStyle: {
                  normal: {
                    color: '#00ffff',
                     1,
                    curveness: 0.2}
                }
              },
              {
                coords: [worldGeoCoordMap['西班牙'], worldGeoCoordMap['湖北']],
                lineStyle: {
                  normal: {
                    color: '#00ffff',
                     1,
                    curveness: 0.2}
                }
              },
              {
                coords: [worldGeoCoordMap['意大利'], worldGeoCoordMap['湖北']],
                lineStyle: {
                  normal: {
                    color: '#00ffff',
                     1,
                    curveness: 0.2}
                }
              },
              {
                coords: [worldGeoCoordMap['美国'], worldGeoCoordMap['湖北']],
                lineStyle: {
                  normal: {
                    color: '#00ffff',
                     1,
                    curveness: 0.2}
                }
              }
            ]
          },
          {
            seriesName: 'point',
            type: 'effectScatter',
            coordinateSystem: 'geo',
            tooltip: {
              show: true,
              formatter(params) {
                returnparams.name;
              }
            },
            symbolSize: 12,
            rippleEffect: {
              brushType: 'fill'},
            label: {
              normal: {
                show: true,
                formatter(params) {
                  returnparams.name;
                },
                color: '#fff',
                fontFamily: 'Microsoft Yahei',
                fontSize: 22,
                position: 'top',
                distance: 10}
            },
            zlevel: 99,
            data: [
              {
                name: '湖北',
                value: worldGeoCoordMap['湖北'],
                itemStyle: {
                  normal: {
                    color: '#00ffff'}
                },
                label: {
                  normal: {
                    show: false}
                }
              },
              {
                name: '俄罗斯',
                value: worldGeoCoordMap['俄罗斯'],
                itemStyle: {
                  normal: {
                    color: '#00ffff'}
                }
              },
              {
                name: '西班牙',
                value: worldGeoCoordMap['西班牙'],
                itemStyle: {
                  normal: {
                    color: '#00ffff'}
                }
              },
              {
                name: '加拿大',
                value: worldGeoCoordMap['加拿大'],
                itemStyle: {
                  normal: {
                    color: '#00ffff'}
                }
              },
              {
                name: '意大利',
                value: worldGeoCoordMap['意大利'],
                itemStyle: {
                  normal: {
                    color: '#00ffff'}
                }
              },
              {
                name: '美国',
                value: worldGeoCoordMap['美国'],
                itemStyle: {
                  normal: {
                    color: '#00ffff'}
                }
              }
            ]
          }
        ]
      }
    }
  },
  mounted() {
    this.init();
  },
  methods: {
    //初始化
init() {
      echarts.registerMap('world', world);
      this.chart =echarts.init(document.getElementById('chart'));
      this.chart.setOption(this.option1);
    }
  },
  components: {
  },
  beforeDestroy() {
    if(this.chart) {
      this.chart.dispose();
    }
  }
}
</script>
View Code

tips: 代码要点提取:

    • 首先定义一个echarts容器--id是chart的div
    • 引入echarts、世界地图json文件、世界地图位置的js文件

  • 手动注册地图echarts.registerMap('world', world)
  • 定义echarts的配置项option(注意使用地理坐标系组件geo),并setOption。

免责声明:文章转载自《echarts实现地图漫入漫出效果》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇微信开放平台微信公众平台微信小程序openid合法性验证Kafka — 高吞吐量的分布式发布订阅消息系统【转】下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

G2使用中的一些坑:自定义图例、混合图形、label 默认隐藏等问题

一、自定义图例 legend 一般自定义图例较多的使用在混合图形里,以 G2 官网的这个 chart 为例,通过定制 legend 来显示自己定义的图例。 注意:legend 的配置项里一定要设置 custom: true ,自己在写的时候过多关注多个图形叠加使用,没有注意设置 custom,结果图表显示一直有问题,图例也显示不出来,折腾到怀疑人生。 二...

数据图表插件echarts(二)

前言 上一篇文章简单介绍了一下百度公司前端部门写的一个js插件echarts,这是一款很强大的图表插件,里面的地图控件也是很强大的,支持离线的使用,并且数据也是离线的,使用很方便。下面我就简单介绍一下echarts中的地图控件 一、插件下载 echarts3是一个集成的插件,把很多东西都集成到一起了,使用很方便,从官网上下载一下,和普通js文件一样,直接添...

转: ExtJS中xtype一览

转: ExtJS中xtype一览 基本组件: xtype Class 描述 button Ext.Button 按钮 splitbutton Ext.SplitButton 带下拉菜单的按钮 cycle Ext.CycleButton 带下拉选项菜单的按钮 buttongroup Ext.ButtonGroup 编组按钮(Since...

helm3自定义chart编写

当我们安装好helm之后我们可以开始自定义chart,那么我们需要先创建出一个模板如下: helm create myapp 之后我们可以一下目录结构,目录的作用我简要介绍一下: templates/ 目录包括了模板文件。当Helm评估chart时,会通过模板渲染引擎将所有文件发送到templates/目录中。 然后收集模板的结果并发送给Kubernete...

ExtJS组件的xtype属性列表

ExtJS的应用界面是由很多小部件组合而成的,这些小部件被称作“组件(Component)”,所有组件都是Ext.Component的子类,Ext.Component提供了生命周期管理包括初始化、渲染、大小和尺寸管理、销毁等功能,这使得所有Ext.Component的子类都自动分享了这些能力。ExtJS提供了各式各样丰富的组件,每一个组件都很容易被扩展创建...

百度地图、ECharts整合HT for Web网络拓扑图应用

直击现场 百度地图、ECharts整合HT for Web网络拓扑图应用发表于3周前(2015-03-23 01:32) 阅读(1320)|评论(5)78人收藏此文章,我要收藏 赞8 慕课网,程序员升职加薪神器,点击免费学习 摘要前一篇谈及到了ECharts整合HT for Web的网络拓扑图应用,后来在ECharts的Demo中看到了有关空气质...