获取所选tileset tile的坐标(按表达式)

时间:2018-06-13 01:51:05

标签: mapbox tile mapbox-gl-js

我能够使用表达式查找和更改矢量tileset的属性,例如:

map.setPaintProperty('my-shp', 'fill-opacity', [
    'match',
    ['get', 'NO'],
    13708, 1,
    /* else */ 0
]);

我想知道是否有办法使用表达式获取tileset项的确切坐标?

<子> 很抱歉,如果我的术语(tileset / tile项目)错了,请随时纠正我。感谢

为了澄清,使用上面的表达式,我可以更改NO13708的tileset项目的不透明度。我的问题是,有没有办法获得tileset项目的纬度/经度坐标,其中NO为13708

1 个答案:

答案 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);