diff options
Diffstat (limited to 'platform/android/MapboxGLAndroidSDK/src/main')
2 files changed, 26 insertions, 2 deletions
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 9b40685408..3623872a4f 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 @@ -8,6 +8,7 @@ import android.location.Location; import android.os.Bundle; import android.os.Handler; import android.support.annotation.FloatRange; +import android.support.annotation.IntRange; import android.support.annotation.NonNull; import android.support.annotation.Nullable; import android.support.annotation.UiThread; @@ -263,7 +264,7 @@ public final class MapboxMap { /** * Adds the layer to the map. The layer must be newly created and not added to the map before * - * @param layer the layer to add + * @param layer the layer to add * @param below the layer id to add this layer before */ @UiThread @@ -274,7 +275,7 @@ public final class MapboxMap { /** * Adds the layer to the map. The layer must be newly created and not added to the map before * - * @param layer the layer to add + * @param layer the layer to add * @param above the layer id to add this layer above */ @UiThread @@ -307,6 +308,18 @@ public final class MapboxMap { } /** + * Removes the layer. Any other references to the layer become invalid and should not be used anymore + * + * @param index the layer index + * @return the removed layer or null if not found + */ + @UiThread + @Nullable + public Layer removeLayerAt(@IntRange(from = 0) int index) { + return nativeMapView.removeLayerAt(index); + } + + /** * Retrieve all the sources in the style * * @return all the sources in the current style 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 a816808f7b..67a0c45134 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 @@ -6,6 +6,7 @@ import android.graphics.Bitmap; import android.graphics.PointF; import android.graphics.RectF; import android.os.Build; +import android.support.annotation.IntRange; import android.support.annotation.NonNull; import android.support.annotation.Nullable; import android.text.TextUtils; @@ -799,6 +800,14 @@ final class NativeMapView { return layer; } + @Nullable + public Layer removeLayerAt(@IntRange(from = 0) int index) { + if (isDestroyedOn("removeLayerAt")) { + return null; + } + return nativeRemoveLayerAt(index); + } + public List<Source> getSources() { if (isDestroyedOn("getSources")) { return null; @@ -1099,6 +1108,8 @@ final class NativeMapView { private native void nativeRemoveLayer(long layerId); + private native Layer nativeRemoveLayerAt(int index); + private native Source[] nativeGetSources(); private native Source nativeGetSource(String sourceId); |