我已经使用Android Mapbox SDK使用GeoServer发布了自定义矢量图层。该图层完美地显示在地图上,但是使用 querySourceFeatures()方法,如下所示,此矢量图层的要素返回空结果。
VectorSource vs = (VectorSource) style.getSources().get(2);
List<Feature> features = vs.querySourceFeatures( new String[]{"lez"} , Expression.literal(true));
我已使用GeoJSON图层对GeoJsonSource使用此方法的重载版本,如下所示,它很好地返回了该图层的功能。
GeoJsonSource geojson_source = (GeoJsonSource) style.getSources().get(5);
List<Feature> features = geojson_source.querySourceFeatures(Expression.literal(true));
那么从VectorSource获取功能有什么问题。
答案 0 :(得分:0)
表达可能是错误的。我遇到了同样的问题here。我的商品具有“分支”属性,我使用了以下表达式:neq(get("branch"), literal(""))
表达式表示获取没有branch != ""
的项目。我知道这不是健康的方法,但是可以。
List<Feature> all_features = source.querySourceFeatures(source_layers, neq(get("branch"), literal("")));