diff options
Diffstat (limited to 'platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/NativeMapView.java')
-rwxr-xr-x | platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/NativeMapView.java | 19 |
1 files changed, 16 insertions, 3 deletions
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 a5f8be788c..c2aed13ddd 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 @@ -65,9 +65,12 @@ final class NativeMapView implements NativeMap { // Device density private final float pixelRatio; - // Flag to indicating destroy was called + // Flag to indicate destroy was called private boolean destroyed = false; + // Flag to indicate surface was destroyed + private boolean hasSurface = false; + // Holds the pointer to JNI NativeMapView @Keep private long nativePtr = 0; @@ -890,7 +893,7 @@ final class NativeMapView implements NativeMap { public List<Feature> queryRenderedFeatures(@NonNull PointF coordinates, @Nullable String[] layerIds, @Nullable Expression filter) { - if (checkState("queryRenderedFeatures")) { + if (checkState("queryRenderedFeatures") || !hasSurface) { return new ArrayList<>(); } Feature[] features = nativeQueryRenderedFeaturesForPoint(coordinates.x / pixelRatio, @@ -903,7 +906,7 @@ final class NativeMapView implements NativeMap { public List<Feature> queryRenderedFeatures(@NonNull RectF coordinates, @Nullable String[] layerIds, @Nullable Expression filter) { - if (checkState("queryRenderedFeatures")) { + if (checkState("queryRenderedFeatures") || !hasSurface) { return new ArrayList<>(); } Feature[] features = nativeQueryRenderedFeaturesForBox( @@ -1418,6 +1421,16 @@ final class NativeMapView implements NativeMap { return destroyed; } + @Override + public boolean hasSurface() { + return hasSurface; + } + + @Override + public void setHasSurface(boolean hasSurface) { + this.hasSurface = hasSurface; + } + public interface ViewCallback { int getWidth(); |