如何从源是mapbox gl js中的矢量切片的图层上的queryRenderedFeatures结果获取要素geojson?

时间:2018-06-21 10:30:55

标签: mapbox mapbox-gl-js

我有一个称为“ Searched LayerX”的图层,其中有一个矢量图块源。我有一个简单的要求,即在运行时突出显示此“ Searched LayerX”内部的功能。

我正在考虑将“ Searched LayerX”上的queryRenderedFeatures结果与该特定功能的唯一ID一起使用,并将该功能的geojson用作新图层的单独来源,我将其添加为“ Selected LayerX” 。

var features = mapBox.queryRenderedFeatures({layers:['Searched LayerX'], filter : ["==",'gid','7818_2_CA']})
var selectedFeature = features[0];

结果功能集不提供任何我可以用来创建新的geojson源的geojson。 所以我的问题是,如何将结果用作“ Selected LayerX”的不同来源?

2 个答案:

答案 0 :(得分:1)

您可以使用下面第一个链接中描述的方法-但要了解返回的功能与源GeoJSON功能不相同-它是该功能在该缩放级别的矢量图块表示,这意味着它可能是高度简化。

https://gis.stackexchange.com/questions/186533/highlight-feature-with-click-in-mapbox-gl

另一种方法是添加具有相同源的另一层,并对下面的两个链接所示的高亮使用滤镜功能-

http://www.mapbox.com.s3-website-us-east-1.amazonaws.com/mapbox-gl-js/example/query-similar-features/

highlighting polyline features in mapbox-gl.js

答案 1 :(得分:0)

试试这篇文章,我已经添加了代码,可以让你使用 querySourceFeatures() https://stackoverflow.com/a/66308173/9185662