使用echarts实现带流向的地图

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

记录大屏可视化开发一
使用echarts实现简单动态地图

一、引入echarts

首先需要去echarts官网下载地址如下
echarts 的官方地址:https://echarts.apache.org/zh/index.html

import * as echarts from 'echarts'//在组件中引入echarts
import china from '@/map/china.json'//中国省份信息的json文件,网上可百度

二、使用步骤

在组件定义一个容器,一定要给宽高,这里是使用vue3 setup语法糖实现的,目前没有添加ts

<template>
 <div ref="mapEchart"  style="width:100%; height:800px"></div>
 </template>
 <script setup>
   import * as echarts from 'echarts'
   import china from '@/map/china.json'
   const mapEchart=ref()
   const points = [
                  {value: [118.8062, 31.9208],itemStyle:{color:'#4ab2e5'}}
                  , {value: [127.9688, 45.368],itemStyle:{color:'#4fb6d2'}}
                  , {value: [110.3467, 41.4899],itemStyle:{color:'#52b9c7'}}
                  , {value: [125.8154, 44.2584],itemStyle:{color:'#5abead'}}
                  , {value: [116.4551, 40.2539],itemStyle:{color:'#f34e2b'}}
                  , {value: [123.1238, 42.1216],itemStyle:{color:'#f56321'}}
                  , {value: [114.4995, 38.1006],itemStyle:{color:'#f56f1c'}}
                  , {value: [117.4219, 39.4189],itemStyle:{color:'#f58414'}}
                  , {value: [112.3352, 37.9413],itemStyle:{color:'#f58f0e'}}
                  , {value: [109.1162, 34.2004],itemStyle:{color:'#f5a305'}}
  ]
 const linePoints=[ {coords: [[118.8062, 31.9208],[119.4543, 25.9222]],lineStyle:{color:'#4ab2e5'}}
                  , {coords: [[127.9688, 45.368],[119.4543, 25.9222]],lineStyle:{color:'#4fb6d2'}}
                  , {coords: [[110.3467, 41.4899],[119.4543, 25.9222]],lineStyle:{color:'#52b9c7'}}]

  onMounted(() => {
    init('china', china)
  })
   const init=(map,value)=>{
    let myecharts=echarts.init(mapEchart.value)
      const options={
		  geo: {//配置地图
            map: map,//地图名称
            zoom: 1.2,//当前视角的缩放比例。
            scaleLimit: 1.6,//缩放比
            scaleLimit: { // 滚轮缩放的极限控制,默认的缩放为1
                min: 0.5,  // 最小的缩放值
                max: 10,  // 最大的缩放值
            },
            roam: true,
            label: {//地图上的文字信息样式配置
                color: '#fff',
                fontSize: '14px',
                show: true
            },
            itemStyle: {//地图区域的多边形 图形样式配置
                areaColor: 'rgb(5,67,160,0.4)',
                borderColor: '#3781F4',
                borderWidth: 2,
                emphasis: {//高亮状态下的多边形和标签样式
                    areaColor: '#3C96FE',
                    borderWidth: 0,
                    color: '#E9BF1A',
                    label: {
                        color: '#E9BF1A',
                        show: false,

                    }
                }
            },
        },
        series: [
            {
                type: 'effectScatter',//带有涟漪效果的
                coordinateSystem: 'geo',//使用坐标系
                effectType: 'ripple',
                showEffectOn: 'render',
                rippleEffect: {
                    period: 10,
                    scale: 4,
                    brushType: 'fill'
                },
                zlevel: 1,
                data: points || [],
            },
            {
                type: 'lines',//地图上的航线
                zlevel: 2,
                symbol: ['none', 'arrow'],
                symbolSize: 10,
                effect: {
                    show: true,
                    period: 6,
                    trailLength: 0,
                    symbol: 'arrow',
                    symbolSize: 15
                },
                lineStyle: {
                    color: '#E9BF1A',
                    with: 4,
                    opacity: 0.6,
                    curveness: 0.2
                },
                data: linePoints|| []
            }
        ]
      }
  // 注册地图
    echarts.registerMap(map, value);
    myChart.setOption(option,true)//在setOption()方法中添加true,表示重新绘制地图,
  
   }
	
 </script>

总结

因为工作原因会经常使用到图表,在此记录一下,使用echarts实现简单动态的地图效果

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
使用 Echarts 实现全球地图流向图迁移图,你可以按照以下步骤进行操作: 1. 首先,确保你已经引入了 Echarts 的库文件。你可以从 Echarts 官网下载最新版本的库文件,并将其引入到你的项目中。 2. 创建一个 HTML 容器,用于显示地图。例如,你可以在 HTML 文件中添加一个 `<div>` 元素,并设置其 id 属性为一个唯一的值,以便在 JavaScript 中引用。 3. 在 JavaScript 中,使用 Echarts 的 API 来配置和绘制地图。首先,创建一个 Echarts 实例,并将其与 HTML 容器关联起来。然后,使用 Echarts 提供的配置项来定义地图的样式和数据。 4. 在配置项中,指定地图的类型为 'map',并设置地图的名称和样式。例如,你可以选择 'world' 作为地图的名称,并设置地图的背景颜色、边界线颜色等。 5. 定义地图的数据。对于迁移图,你需要提供每个国家/地区的名称和迁移数据。迁移数据通常表示从一个国家/地区到另一个国家/地区的人口流动量。 6. 在配置项中,使用 Echarts 的系列配置项来定义地图的系列。对于流向图迁移图,你可以使用 'lines' 系列来表示迁移线,使用 'effectScatter' 系列来表示迁移起点和终点的圆点。 7. 针对 'lines' 系列,设置线的样式、起点和终点的坐标、线的数值等。针对 'effectScatter' 系列,设置圆点的样式、圆点的坐标等。 8. 最后,使用 Echarts 的实例对象调用 `setOption` 方法,将配置项应用于地图,并在 HTML 容器中显示地图。 这是一个基本的框架,你可以根据自己的需求进一步定制和优化。具体的代码实现细节可以参考 Echarts 的官方文档和示例。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值