如何从 Mapbox GL Native GeoJSONSource 获取几何图形?
How to get a geometry from a Mapbox GL Native GeoJSONSource?
我在 NativeScript {N} 应用程序中使用 Mapbox GL Native Android SDK v 7.1.2。
我使用 GeoJSON 源在地图上画了一条线。
我想在稍后的代码中从直线中检索几何图形(而不是单独保留坐标)。
我可以使用 Style.getSource(id) however I can't find an example or explanation how to correctly form an Expression filter for querySourceFeatures() 从列表中获取第一个特征的几何形状,从而获得对线源的引用。
不包含 querySourceFeatures() 的参数会导致 NativeScript 无法解析调用,而是将 null 传递给它return一个空列表。
如何从 GeoJSON 源中形成 Expression filter 到 return 第一个特征的几何形状?
事实证明,在 Android Mapbox GL Native SDK 中,您无法在添加几何图形后立即查询源。
要从源中获取所有功能,您可以使用:
source.querySourceFeatures( com.mapbox.mapboxsdk.style.expressions.Expression.literal(true));
但是,在调用此方法之前,您必须让地图有机会更新源。在我的测试中,我只是做了一个:
setTimeout( () => {
....
}, 500 );
在生产环境中,您可能会设置回调 onDidBecomeIdleListener。
遗憾的是,我注意到源值在添加到地图后被修改了。我从源头上查询的内容与我输入的内容不完全匹配,所以这种方法对我来说没有用。
我在 NativeScript {N} 应用程序中使用 Mapbox GL Native Android SDK v 7.1.2。
我使用 GeoJSON 源在地图上画了一条线。
我想在稍后的代码中从直线中检索几何图形(而不是单独保留坐标)。
我可以使用 Style.getSource(id) however I can't find an example or explanation how to correctly form an Expression filter for querySourceFeatures() 从列表中获取第一个特征的几何形状,从而获得对线源的引用。
不包含 querySourceFeatures() 的参数会导致 NativeScript 无法解析调用,而是将 null 传递给它return一个空列表。
如何从 GeoJSON 源中形成 Expression filter 到 return 第一个特征的几何形状?
事实证明,在 Android Mapbox GL Native SDK 中,您无法在添加几何图形后立即查询源。
要从源中获取所有功能,您可以使用:
source.querySourceFeatures( com.mapbox.mapboxsdk.style.expressions.Expression.literal(true));
但是,在调用此方法之前,您必须让地图有机会更新源。在我的测试中,我只是做了一个:
setTimeout( () => {
....
}, 500 );
在生产环境中,您可能会设置回调 onDidBecomeIdleListener。
遗憾的是,我注意到源值在添加到地图后被修改了。我从源头上查询的内容与我输入的内容不完全匹配,所以这种方法对我来说没有用。