热力图图层
热力图(heatmap)图层以热力图的方式显示数据,详见示例。
heatmap 图层支持 vector 和 geojson 两种类型的数据源,所需的数据内容为点几何;如下例所示:
// 添加热力图数据源
map.addSource('earthquakes', {
'type': 'geojson',
'data':
'./data/earthquakes.geojson'
});
// 添加热力图图层
map.addLayer({
id: "heatmapLayer",
type: "heatmap",
source: "earthquakes",
layout: {
visibility: "visible",
},
paint: {
"heatmap-radius": 30,
"heatmap-weight": {
property: "mag",
stops: [
[0, 0],
[10, 1],
],
},
"heatmap-intensity": 1,
"heatmap-color": [
"interpolate",
["linear"],
["heatmap-density"],
0,
"rgba(0, 0, 255, 0)",
0.1,
"royalblue",
0.3,
"cyan",
0.5,
"lime",
0.7,
"yellow",
1,
"red",
],
"heatmap-opacity": 1,
},
minzoom: 6,
maxzoom: 12,
});
1、id
id 表示该图层的唯一标识,值为字符串;
2、type
type 表示该图层的类别,heatmap 图层 type 属性的值为"heatmap";
3、source
source 表示该图层所使用的数据源的唯一标识 ID,也可以是一个符号要求的数据源规格说明。
4、source-layer
source-layer 为 vector 类型数据源中所使用的图层数据的唯一标识;如果使用的数据源类型为 geojson,该参数不需要设置;
5、layout
heatmap 图层的 layout 中包含的属性只有 visibility,值为"visible"表示该图层显示,为"none"表示该图层不显示;默认值为"visible";
6、paint
heatmap 图层的 paint 中包含的属性有:
(1) “heatmap-radius”:表示一个热力图数据点的模糊范围,值为数值类型,单位是像素,值必须大于等于 1,默认值为 30;支持函数对象语句;
(2) “heatmap-weight”:表示一个热力图单个数据点的热力程度,值为数值类型,值必须大于等于 0,默认值为 1;
(3) “heatmap-intensity”:表示用于统一控制热力值的强度,值为数值,值必须大于等于 0,默认值为 1;支持函数对象语句;
(4) “heatmap-color”:表示热力图颜色阶梯,阶梯的值域范围为[0,1],默认值为[“interpolate”,[“linear”],[“heatmap-density”],0,“rgba(0, 0, 255, 0)”,0.1,“royalblue”,0.3,“cyan”,0.5,“lime”,0.7,“yellow”,1,“red”];
(5) “heatmap-opacity”:表示热力图的不透明度,值域为[0,1],默认为 1;支持函数对象语句;
7、minzoom
图层可展示的最小缩放等级值,选填项;参考「开发指南」「基础图层」「图层规格说明」「图层规格」中的内容;
8、maxzoom
图层可展示的最大缩放等级值,选填项;参考「开发指南」「基础图层」「图层规格说明」「图层规格」中的内容;
9、filter
所使用数据源的 features 数据的过滤条件,选填项;参考 「开发指南」「基础图层」「图层规格说明」「filter 规格」中的内容;