如何从Mapbox GL Native GeoJSONSource获取几何?

问题描述 投票:0回答:1

我在NativeScript {N}应用程序中使用Mapbox GL Native Android SDK v 7.1.2。

我使用GeoJSON源在地图上绘制了一条线。

我想在代码的稍后一点从线中检索几何体(而不是保持坐标分开)。

我能够使用Style.getSource(id)获取对该行的源的引用,但是我找不到一个示例或解释如何正确形成querySourceFeatures()的表达式过滤器以从列表中获取第一个特征的几何。

不包括querySourceFeatures()的参数会导致NativeScript无法解析调用但将null传递给它会返回一个空列表。

如何形成Expression filter以从GeoJSON源返回第一个要素的几何?

nativescript mapbox mapbox-android
1个回答
1
投票

事实证明,在Android Mapbox GL Native SDK中,添加后,您无法立即查询源的几何体。

要从源获取所有功能,您可以使用:

source.querySourceFeatures( com.mapbox.mapboxsdk.style.expressions.Expression.literal(true));

但是,在调用此方法之前,您必须为映射提供更新源的机会。在我的测试中,我刚做了一个:

setTimeout( () => {
  ....
}, 500 );

在制作中你可能会设置一个回调onDidBecomeIdleListener

遗憾的是,我注意到源值在添加到地图后会被修改。我从源头查询的内容与我输入的内容不完全匹配,因此这种方法对我没有用。

© www.soinside.com 2019 - 2024. All rights reserved.