From a22825e2c31286a11881880881edb86adc249be1 Mon Sep 17 00:00:00 2001 From: Tobrun Van Nuland Date: Mon, 21 Aug 2017 13:51:36 +0200 Subject: [android] - optional geometry conversion for query rendered features --- .../main/java/com/mapbox/mapboxsdk/maps/MapboxMap.java | 17 +++++++++++++++-- .../java/com/mapbox/mapboxsdk/maps/NativeMapView.java | 8 +++++--- 2 files changed, 20 insertions(+), 5 deletions(-) (limited to 'platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk') diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapboxMap.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapboxMap.java index 0d1d0e03b5..f9eec0c2cb 100644 --- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapboxMap.java +++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapboxMap.java @@ -1928,6 +1928,19 @@ public final class MapboxMap { nativeMapView.addSnapshotCallback(callback); } + /** + * Queries the map for rendered features + * + * @param coordinates the point to query + * @param layerIds optionally - only query these layers + * @return the list of feature + */ + @NonNull + public List queryRenderedFeatures(@NonNull PointF coordinates, boolean withGeometry, @Nullable String... + layerIds) { + return nativeMapView.queryRenderedFeatures(coordinates, layerIds, null, withGeometry); + } + /** * Queries the map for rendered features * @@ -1938,7 +1951,7 @@ public final class MapboxMap { @NonNull public List queryRenderedFeatures(@NonNull PointF coordinates, @Nullable String... layerIds) { - return nativeMapView.queryRenderedFeatures(coordinates, layerIds, null); + return nativeMapView.queryRenderedFeatures(coordinates, layerIds, null, true); } /** @@ -1953,7 +1966,7 @@ public final class MapboxMap { public List queryRenderedFeatures(@NonNull PointF coordinates, @Nullable Filter.Statement filter, @Nullable String... layerIds) { - return nativeMapView.queryRenderedFeatures(coordinates, layerIds, filter); + return nativeMapView.queryRenderedFeatures(coordinates, layerIds, filter, true); } /** diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/NativeMapView.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/NativeMapView.java index 4f5037e4b3..2bc94f26ab 100755 --- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/NativeMapView.java +++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/NativeMapView.java @@ -820,12 +820,13 @@ final class NativeMapView { @NonNull public List queryRenderedFeatures(@NonNull PointF coordinates, @Nullable String[] layerIds, - @Nullable Filter.Statement filter) { + @Nullable Filter.Statement filter, + boolean withGeometry) { if (isDestroyedOn("queryRenderedFeatures")) { return new ArrayList<>(); } Feature[] features = nativeQueryRenderedFeaturesForPoint(coordinates.x / pixelRatio, - coordinates.y / pixelRatio, layerIds, filter != null ? filter.toArray() : null); + coordinates.y / pixelRatio, layerIds, filter != null ? filter.toArray() : null, withGeometry); return features != null ? Arrays.asList(features) : new ArrayList(); } @@ -1095,7 +1096,8 @@ final class NativeMapView { private native Feature[] nativeQueryRenderedFeaturesForPoint(float x, float y, String[] layerIds, - Object[] filter); + Object[] filter, + boolean withGeometry); private native Feature[] nativeQueryRenderedFeaturesForBox(float left, float top, float right, float bottom, -- cgit v1.2.1