summaryrefslogtreecommitdiff
path: root/platform/android/MapboxGLAndroidSDK/src/main
diff options
context:
space:
mode:
Diffstat (limited to 'platform/android/MapboxGLAndroidSDK/src/main')
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapboxMap.java17
-rwxr-xr-xplatform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/NativeMapView.java11
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);