本期推荐的 L7 是由蚂蚁金服 AntV 数据可视化团队推出的基于 WebGL 开源大规模地理空间数据可视分析开发框架。L7 中的 L 代表 Location,7 代表世界七大洲,寓意能为全球位置数据提供可视分析的能力。
核心特性
数据驱动可视化展示
数据驱动,从数到形,支持丰富的地图可视化类型,更好的洞察数据。
2D,3D 一体化的海量数据高性能渲染
百万级空间数据实时,动态渲染。
简单灵活的数据接入
支持 CSV,JSON,geojson 等数据格式接入,可以根据需求自定义数据格式,无需复杂的空间数据转换。
多地图底图支持,支持离线内网部署
高德地图国内合法合规的地理底图,Mapbox 满足国际化业务需求。
支持丰富的图表类型
点图层
- 气泡图
- 散点图
- 符号地图
- 3D 柱状地图
- 聚合地图
- 复合图表地图
- 自定义 Marker
线图层
- 路径地图
- 弧线,支持 2D 弧线、3D 弧线以及大圆航线
- 等值线
面图层
- 填充图
- 3D 填充图
热力图
- 经典热力图
- 蜂窝热力图
- 网格热力图
栅格地图
- 图片
- Raster
使用
安装
npm install @antv/l7
初始化地图
import { Scene } from '@antv/l7';
import { Mapbox } from '@antv/l7-maps';
const scene = new Scene({
id: 'map',
map: new Mapbox({
style: 'light',
pitch: 0,
center: [107.054293, 35.246265],
zoom: 4.056,
}),
});
添加图层
import { PointLayer } from '@antv/l7';
const pointLayer = new PointLayer()
.source(data)
.shape('circle')
.size('mag', [1, 25])
.color('mag', ['#5B8FF9', '#5CCEA1'])
.style({
opacity: 0.3,
strokeWidth: 1,
});
scene.addLayer(pointLayer);
高德插件
L7 在使用高德地图作为地图底图的时候能轻易的使用高德地图底图提供的插件能力
注册使用
const scene = new Scene({
id: 'map',
map: new GaodeMap({
center: [116.475, 39.99],
pitch: 0,
zoom: 13,
plugin: ['AMap.ToolBar', 'AMap.LineSearch'],
}),
});
// plugin: ['AMap.ToolBar', 'AMap.LineSearch'],
// 为了使用对应插件的能力,应该首先在 plugin 中注册对应的插件
// 加载的 AMap 会挂载在全局的 window 对象上
scene.on('loaded', () => {
window.AMap.plugin(['AMap.ToolBar', 'AMap.LineSearch'], () => {
// add control
scene.map.addControl(new AMap.ToolBar());
var linesearch = new AMap.LineSearch({
pageIndex: 1, //页码,默认值为1
pageSize: 1, //单页显示结果条数,默认值为20,最大值为50
city: '北京', //限定查询城市,可以是城市名(中文/中文全拼)、城市编码,默认值为『全国』
extensions: 'all', //是否返回公交线路详细信息,默认值为『base』
});
//执行公交路线关键字查询
linesearch.search('536', function(status, result) {
//打印状态信息status和结果信息result
// ... do something
});
});
});
风场图层
WindLayer 用于将存储风场信息的图片,设置其风速线采样相关参数,将采样后的风场线的走向、强度通过可视化的方式在地图上呈现出来。
注册使用
import { WindLayer } from '@antv/l7';