说我有一个基本的mapbox热图。构造此热图的矢量图块的geojson看起来像这样:
undefined
我了解如何按照此处的教程显示热图:
https://docs.mapbox.com/help/tutorials/make-a-heatmap-with-mapbox-gl-js/
请注意,尽管geojson中的每个功能都有一个icon-type属性。我想动态地告诉我的热图仅显示具有特定图标类型值(例如“自行车”或“猫”)的数据中的点。
我该如何实现?
答案 0 :(得分:1)
您可以使用filter中使用的图层配置中的this exmple来实现。
在您的情况下,它将类似于:
map.addLayer({
id: 'heatmap-layer',
type: 'heatmap',
source: 'your-source',
paint: { ... },
filter: ['==', ['get', 'icon-type'], 'cat']
});
'=='
仅允许下两个参数相等的功能。
'get'
用于访问要素属性,因此['get', 'icon-type']
解析为要素的icon-type
属性。
'cat'
是乱七八糟的字符串。