背景介绍
oncloud.vis-map 是一款基于 D3.js 和 leaflet.js 库开发的可视化地图库,提供了多种地图形式展示,包括散点图、热力图、等值线图、矢量箭头图等,同时支持地图缩放、拖动、图例、交互等功能。该库已经发布到 npm 上,可以通过 npm 安装并使用。
安装
使用 npm 进行安装:
npm install oncloud.vis-map --save
使用
加载地图
首先需要加载地图,可以通过初始化一个 VisMap 对象并指定一个 DOM 元素作为地图容器进行加载:
import VisMap from 'oncloud.vis-map'; let map = new VisMap(document.getElementById('map-container'), { center: [30, 105], // 地图中心坐标 zoom: 4 // 地图缩放级别 });
添加图层
支持添加多个图层,每个图层可以展示不同的数据:
-- -------------------- ---- ------- -- ------- -------------- ----- ---------- ----- -- ---- ----- ---- ------ ------ -- -- - ---- ----- ---- ------ ------ - --- -------- - ------- --- ------ ----- - --- -- ------- -------------- ----- ------- ----- -- ---- ----- ---- ------ ------ -- -- - ---- ----- ---- ------ ------ - --- -------- - ------- --- -------- --- - ---
支持的图层类型和 options
{ type: 'scatter', // 图层类型,可选值:scatter, heat, cont, iso, arrows data: [], // 数据 options: {}, // 图层选项 }
scatter
散点图类型,支持传入如下 options:
- radius:散点半径,default 5
- color:散点颜色,default 'blue'
- label:标签文本,default ''
- labelBgColor:标签背景颜色,default ''
- labelColor:标签文本颜色,default 'black'
heat
热力图类型,支持传入如下 options:
- radius:半径大小,default 25
- opacity:透明度,default 0.5
- gradient:渐变颜色方案,default { 0.0: 'blue', 1.0: 'red' }
cont
等值线图类型,支持传入如下 options:
- levels:等值线数值数组,default [1, 5, 10, 20, 30]
- colors:等值线颜色数组,default ['#0000FF', '#00FF00', '#FF0000', '#FFF000', '#FF00FF']
iso
等值面图类型,支持传入如下 options:
- levels:等值面数值数组,default [1, 5, 10, 20, 30]
- colors:等值面颜色数组,default ['#0000FF', '#00FF00', '#FF0000', '#FFF000', '#FF00FF']
arrows
矢量箭头图类型,支持传入如下 options:
- speedScale:速度比例尺,default 50
- directionField:方向场数组,包括 u, v 两个方向数组,default []
交互
支持以下交互:
缩放
地图默认支持鼠标滚轮缩放和双击缩放,可以自己定义缩放倍数:
map.setScale(2);
拖动
地图默认支持鼠标拖动和手势拖动,可以通过代码进行控制:
map.setDraggable(false); // 禁止拖动
事件
支持以下事件:
- click:地图点击事件
- mouseover:鼠标移入地图某个元素的事件
- mouseout:鼠标移出地图某个元素的事件
-- -------------------- ---- ------- --------------- -------- ------- - -------------------- ------- --- ------------------- -------- ------ ------ - ------------------------ ----- ------- --- ------------------ -------- ------ ------ - ----------------------- ----- ------- ---
示例代码
<div id="map-container"></div>
-- -------------------- ---- ------- ------ ------ ---- ------------------ --- --- - --- ------------------------------------------------ - ------- ---- ----- ----- - --- -------------- ----- ---------- ----- -- ---- ----- ---- ------ ------ -- -- - ---- ----- ---- ------ ------ - --- -------- - ------- --- ------ ----- - --- -------------- ----- ------- ----- -- ---- ----- ---- ------ ------ -- -- - ---- ----- ---- ------ ------ - --- -------- - ------- --- -------- --- - --- ---------------- --------------- -------- ------- - -------------------- ------- --- ------------------- -------- ------ ------ - ------------------------ ----- ------- --- ------------------ -------- ------ ------ - ----------------------- ----- ------- ---
总结
oncloud.vis-map 是一款十分实用的可视化地图库,支持多种地图形式展示和交互,提供了丰富的选项和事件,使用起来非常方便。在实际项目中,可以快速进行地图数据可视化的开发和应用。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60065f7c238a385564ab6a62