获取所选 tileset 瓦片的坐标(通过表达式)
Get coordinate of selected tileset tile (by expression)
我能够使用表达式查找和更改矢量切片集的属性,例如:
map.setPaintProperty('my-shp', 'fill-opacity', [
'match',
['get', 'NO'],
13708, 1,
/* else */ 0
]);
我想知道是否有办法使用表达式获取 tileset 项目的精确坐标?
抱歉,如果我的术语有误(tileset/tile 项),请随时纠正我。谢谢
澄清一下,使用上面的表达式,我可以更改 NO
为 13708
的 tileset 项目的不透明度。我的问题是,有没有办法获取 NO 为 13708
的 tileset 项目的 lat/long 坐标?
您可以遍历所有呈现的功能并测试 "NO" 属性 然后 return 此功能的坐标。要获得所有渲染功能,您需要使用 queryRenderedFeatures。特征遵循 GeoJSON 结构。
例如:
let features = map.queryRenderedFeatures({ layers: ['my-shp'] });
let filtered = features.filter(feature => {
return feature.properties.NO === 13708;
});
console.log(filtered);
我能够使用表达式查找和更改矢量切片集的属性,例如:
map.setPaintProperty('my-shp', 'fill-opacity', [
'match',
['get', 'NO'],
13708, 1,
/* else */ 0
]);
我想知道是否有办法使用表达式获取 tileset 项目的精确坐标?
抱歉,如果我的术语有误(tileset/tile 项),请随时纠正我。谢谢
澄清一下,使用上面的表达式,我可以更改 NO
为 13708
的 tileset 项目的不透明度。我的问题是,有没有办法获取 NO 为 13708
的 tileset 项目的 lat/long 坐标?
您可以遍历所有呈现的功能并测试 "NO" 属性 然后 return 此功能的坐标。要获得所有渲染功能,您需要使用 queryRenderedFeatures。特征遵循 GeoJSON 结构。
例如:
let features = map.queryRenderedFeatures({ layers: ['my-shp'] });
let filtered = features.filter(feature => {
return feature.properties.NO === 13708;
});
console.log(filtered);