我能够使用表达式查找和更改矢量tileset的属性,例如:
map.setPaintProperty('my-shp', 'fill-opacity', [
'match',
['get', 'NO'],
13708, 1,
/* else */ 0
]);
我想知道是否有办法使用表达式获取tileset项的确切坐标?
<子> 很抱歉,如果我的术语(tileset / tile项目)错了,请随时纠正我。感谢 子>
为了澄清,使用上面的表达式,我可以更改NO
为13708
的tileset项目的不透明度。我的问题是,有没有办法获得tileset项目的纬度/经度坐标,其中NO为13708
?
答案 0 :(得分:1)
你可以迭代所有渲染的功能并测试&#34; NO&#34;属性然后返回此功能的坐标。要获得所有渲染功能,您需要使用queryRenderedFeatures。功能遵循GeoJSON结构。
例如:
let features = map.queryRenderedFeatures({ layers: ['my-shp'] });
let filtered = features.filter(feature => {
return feature.properties.NO === 13708;
});
console.log(filtered);