Mapbox + ECharts 实现简单迁徙图
文章目录
- 概述
- 预览效果
- 实现代码
- 说明
- 相关链接
概述
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>
说明
- 代码中引入的EChartsLayer.js文件,源于超图的共享,稍后会把链接放在文末。
- 本文只是实现了简单的迁徙图,复杂的样式可以参考ECharts Gallery或者超图的Demo。
相关链接
超图官方GitHub EChartsLayer.js文件
超图官方Mapbox GL 迁徙图示例
ECharts Gallery 线图示例
Mapbox + ECharts 实现简单迁徙图相关推荐
- Leaflet中使用leaflet-echarts插件实现Echarts的Migration迁徙图(带炫光特效)
场景 Leaflet中使用leaflet-echarts插件实现Echarts的Migration迁徙图: Leaflet中使用leaflet-echarts插件实现Echarts的Migration ...
- Leaflet中使用leaflet-echarts插件实现Echarts的Migration迁徙图
场景 Leaflet快速入门与加载OSM显示地图: Leaflet快速入门与加载OSM显示地图_BADAO_LIUMANG_QIZHI的博客-CSDN博客 Leaflet有很多插件,比如地图上显示Ec ...
- 使用mapbox+turf.js完成迁徙图,流向图教程
以前对于迁徙图流向图这样的需求大多都是采用echarts这样的图标组件库做的.这篇文章跟大家分享一下如何使用webgis的技术方式实现迁徙图,流向图这样的专题地图. 首先我们要把思路捋清楚,迁徙图表示 ...
- 利用百度Echart库,完成简单迁徙图
0 准备城市坐标值 /*** 全国主要城市的坐标值*/ var cityCoordiante_var = {'上海': [121.4648,31.2891],'东莞': [113.8953,22.90 ...
- AMap + echarts、google map + d3.js分别实现数据可视化中的飞线图(迁徙图)
首先肯定是给出demo啦: 演示demo 直接到左侧选择框中选择View taxi flow里面随便选个日期 总体介绍 最近由于工作室项目需要做一个数据可视化平台,这个平台最终是交由国外人使用的.而国 ...
- echarts symbol 回调函数_【OpenLayer 实战】实现仿Echarts风格的动态迁徙图/航班图
使用的数据还是来自echarts,模拟了全国各地到湖南重点景区的客流情况. 分析 要实现动态迁徙图的效果,主要需解决两个问题 曲线的绘制.因为给出的数据只有起点和终点两个点位,所以想要绘制曲线 ...
- 地图 svg中国地图、echarts百度迁徙图
总结下最近使用过的地图控件: 第一种 svg中国地图 demo:http://www.oschina.net/code/snippet_54124_36979 这个很简单,照着demo里面直接调用就可 ...
- Vue项目中Echarts流向图迁徙图实现
在数据可视化中,地图可视化是高频应用的一种.我们在一些新闻报道和商业杂志上,会经常看到运用地图来分析展示商业现象,这样的利用地图来反映和分析数据的形式叫数据地图.数据地图可以最直观的表达出数据之间的空 ...
- 02 【ArcGIS JS API + eCharts系列】实现二、三维迁徙图的绘制
概述 上一篇文章通过纯前端的方式实现了ArcGIS JS API和eCharts的普通二维图表绘制,因为这些图表绘制其实是跟地理坐标无关的,只需要设置图表的位置即可,所以仅仅用了纯前端的方式去实现.这 ...
最新文章
- Google正式发布TensorFlow Lite预览版,针对移动/嵌入设备的轻量级解决方案
- 使用c#訪问Access数据库时,提示找不到可安装的 ISAM
- PMCAFF微课堂 | 京东零售平台资深PM深度揭秘京东的订单体系
- OFBiz + Opentaps 目录管理 十三. 配置产品搜索
- 资源权限操作-添加资源权限
- junit 运行_运行,JUnit! 跑!!!
- cmder 基本配置和使用
- Android继承AppCompatActivity实现全屏设置
- python2中可以使用print()函数吗_Python3中的 print 函数有哪些用法?
- java 产生无重复的随机数,Java程序生成无重复的随机数
- 红外测距模块–红外对管(TCRT5000)原理
- 纸张的规格:A3.A4.A5.A6纸的尺寸大小
- 基于Paddlehub与Wechaty的微信小助手--懂懂
- channel练习题
- java计算机毕业设计特色农产品供需销售系统源码+数据库+系统+lw文档+mybatis+运行部署
- 【SAP打印】SMARTFORMS标签无法调整横向打印
- $.contains()
- 嵌入式计算机是专用计算机系统,嵌入式系统是一种专用的计算机系统.doc
- 关于TC油封-什么是TC油封?
- 科学计算与数学建模-常微分方程数值解法 思维导图
热门文章
- 录制动画时AnimationClip.SetCurve的relativePath问题
- python函数实验总结_Python程序设计实验报告:实验六 函数
- EXFO MAX-710B光时域反射仪OTDR主要功能
- okhttp3 Response.body().toString()
- stm32f103HC05蓝牙串口程序和自制手机APP
- 【虚函数指针 虚函数表】
- html5 画太极图,canvas基础画太极图(娱乐~)
- Linear Algebra 线性代数
- cad图纸怎么看懂_如何看懂CAD图?
- [java] 设计模式