文章目录

  • 概述
  • 预览效果
  • 实现代码
  • 说明
  • 相关链接

概述

ECharts是开源的可视化图表库,其中有丰富的图表。本文使用Mapbox结合ECharts插件实现了简单的迁徙地图。

预览效果

实现代码

<!DOCTYPE html>
<html><head><meta charset="utf-8" /><title>mapbox + echarts (简单迁徙图)</title><meta name="viewport" content="initial-scale=1,maximum-scale=1,user-scalable=no" /><script src="https://api.mapbox.com/mapbox-gl-js/v2.0.0/mapbox-gl.js"></script><link href="https://api.mapbox.com/mapbox-gl-js/v2.0.0/mapbox-gl.css" rel="stylesheet" /><script type="text/javascript" src="https://cdn.jsdelivr.net/npm/echarts@5/dist/echarts.min.js"></script><script src="./EchartsLayer.js"></script><style>body {margin: 0;padding: 0;}#map {position: absolute;top: 0;bottom: 0;width: 100%;}
</style>
</head><body><div id="map"></div><script>mapboxgl.accessToken = 'your accessToken';var map = new mapboxgl.Map({container: 'map',style: 'mapbox://styles/mapbox/streets-v10',center: [119.2070396626, 26.0471838188],minZoom: 12,zoom: 14});var geoCoordMap = {"1": [119.2070396626, 26.0471838188],"2": [119.2147498638, 26.0481609598],"3": [119.209339, 26.038355],"4": [119.2163806469, 26.0442086921],};var oneData = [[{name: "1"},{name: "2",value: 20}],[{name: "1"},{name: "3",value: 20}],[{name: "1"},{name: "4",value: 20}]];var convertData = function (data) {var res = [];for (var i = 0; i < data.length; i++) {var dataItem = data[i];var fromCoord = geoCoordMap[dataItem[1].name];var toCoord = geoCoordMap[dataItem[0].name];if (fromCoord && toCoord) {res.push({fromName: dataItem[1].name,toName: dataItem[0].name,coords: [fromCoord, toCoord]});}}return res;};var series = [];[["1", oneData],].forEach(function (item,i
) {series.push({name: 'geolines',type: "lines",coordinateSystem: "GLMap",zlevel: 1,effect: {show: true,period: 4,trailLength: 0.8,color: '#f00',symbolSize: 4},lineStyle: {normal: {color: 'rgba(34, 181, 230, 0.15)',width: 0.5,opacity: 0.4,curveness: 0.2}},data: convertData(item[1])});});var option = {GLMap: {roam: true},coordinateSystem: 'GLMap',//series是在地图上的线条等效果的配置文件,具体可以查阅文档。series: series};map.on('load', () => {var echartslayer = new EchartsLayer(map);echartslayer.chart.setOption(option);})
</script></body></html>

说明

  1. 代码中引入的EChartsLayer.js文件,源于超图的共享,稍后会把链接放在文末。
  2. 本文只是实现了简单的迁徙图,复杂的样式可以参考ECharts Gallery或者超图的Demo。

相关链接

超图官方GitHub EChartsLayer.js文件
超图官方Mapbox GL 迁徙图示例
ECharts Gallery 线图示例

Mapbox + ECharts 实现简单迁徙图相关推荐

  1. Leaflet中使用leaflet-echarts插件实现Echarts的Migration迁徙图(带炫光特效)

    场景 Leaflet中使用leaflet-echarts插件实现Echarts的Migration迁徙图: Leaflet中使用leaflet-echarts插件实现Echarts的Migration ...

  2. Leaflet中使用leaflet-echarts插件实现Echarts的Migration迁徙图

    场景 Leaflet快速入门与加载OSM显示地图: Leaflet快速入门与加载OSM显示地图_BADAO_LIUMANG_QIZHI的博客-CSDN博客 Leaflet有很多插件,比如地图上显示Ec ...

  3. 使用mapbox+turf.js完成迁徙图,流向图教程

    以前对于迁徙图流向图这样的需求大多都是采用echarts这样的图标组件库做的.这篇文章跟大家分享一下如何使用webgis的技术方式实现迁徙图,流向图这样的专题地图. 首先我们要把思路捋清楚,迁徙图表示 ...

  4. 利用百度Echart库,完成简单迁徙图

    0 准备城市坐标值 /*** 全国主要城市的坐标值*/ var cityCoordiante_var = {'上海': [121.4648,31.2891],'东莞': [113.8953,22.90 ...

  5. AMap + echarts、google map + d3.js分别实现数据可视化中的飞线图(迁徙图)

    首先肯定是给出demo啦: 演示demo 直接到左侧选择框中选择View taxi flow里面随便选个日期 总体介绍 最近由于工作室项目需要做一个数据可视化平台,这个平台最终是交由国外人使用的.而国 ...

  6. echarts symbol 回调函数_【OpenLayer 实战】实现仿Echarts风格的动态迁徙图/航班图

    使用的数据还是来自echarts,模拟了全国各地到湖南重点景区的客流情况. 分析 要实现动态迁徙图的效果,主要需解决两个问题     曲线的绘制.因为给出的数据只有起点和终点两个点位,所以想要绘制曲线 ...

  7. 地图 svg中国地图、echarts百度迁徙图

    总结下最近使用过的地图控件: 第一种 svg中国地图 demo:http://www.oschina.net/code/snippet_54124_36979 这个很简单,照着demo里面直接调用就可 ...

  8. Vue项目中Echarts流向图迁徙图实现

    在数据可视化中,地图可视化是高频应用的一种.我们在一些新闻报道和商业杂志上,会经常看到运用地图来分析展示商业现象,这样的利用地图来反映和分析数据的形式叫数据地图.数据地图可以最直观的表达出数据之间的空 ...

  9. 02 【ArcGIS JS API + eCharts系列】实现二、三维迁徙图的绘制

    概述 上一篇文章通过纯前端的方式实现了ArcGIS JS API和eCharts的普通二维图表绘制,因为这些图表绘制其实是跟地理坐标无关的,只需要设置图表的位置即可,所以仅仅用了纯前端的方式去实现.这 ...

最新文章

  1. Google正式发布TensorFlow Lite预览版,针对移动/嵌入设备的轻量级解决方案
  2. 使用c#訪问Access数据库时,提示找不到可安装的 ISAM
  3. PMCAFF微课堂 | 京东零售平台资深PM深度揭秘京东的订单体系
  4. OFBiz + Opentaps 目录管理 十三. 配置产品搜索
  5. 资源权限操作-添加资源权限
  6. junit 运行_运行,JUnit! 跑!!!
  7. cmder 基本配置和使用
  8. Android继承AppCompatActivity实现全屏设置
  9. python2中可以使用print()函数吗_Python3中的 print 函数有哪些用法?
  10. java 产生无重复的随机数,Java程序生成无重复的随机数
  11. 红外测距模块–红外对管(TCRT5000)原理
  12. 纸张的规格:A3.A4.A5.A6纸的尺寸大小
  13. 基于Paddlehub与Wechaty的微信小助手--懂懂
  14. channel练习题
  15. java计算机毕业设计特色农产品供需销售系统源码+数据库+系统+lw文档+mybatis+运行部署
  16. 【SAP打印】SMARTFORMS标签无法调整横向打印
  17. $.contains()
  18. 嵌入式计算机是专用计算机系统,嵌入式系统是一种专用的计算机系统.doc
  19. 关于TC油封-什么是TC油封?
  20. 科学计算与数学建模-常微分方程数值解法 思维导图

热门文章

  1. 录制动画时AnimationClip.SetCurve的relativePath问题
  2. python函数实验总结_Python程序设计实验报告:实验六 函数
  3. EXFO MAX-710B光时域反射仪OTDR主要功能
  4. okhttp3 Response.body().toString()
  5. stm32f103HC05蓝牙串口程序和自制手机APP
  6. 【虚函数指针 虚函数表】
  7. html5 画太极图,canvas基础画太极图(娱乐~)
  8. Linear Algebra 线性代数
  9. cad图纸怎么看懂_如何看懂CAD图?
  10. [java] 设计模式