summaryrefslogtreecommitdiff
path: root/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk
diff options
context:
space:
mode:
Diffstat (limited to 'platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk')
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapboxMap.java12
-rwxr-xr-xplatform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/NativeMapView.java9
2 files changed, 21 insertions, 0 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 3623872a4f..e3e33ec067 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
@@ -284,6 +284,18 @@ public final class MapboxMap {
}
/**
+ * Adds the layer to the map at the specified index. The layer must be newly
+ * created and not added to the map before
+ *
+ * @param layer the layer to add
+ * @param index the index to insert the layer at
+ */
+ @UiThread
+ public void addLayerAt(@NonNull Layer layer, @IntRange(from = 0) int index) {
+ nativeMapView.addLayerAt(layer, index);
+ }
+
+ /**
* Removes the layer. Any references to the layer become invalid and should not be used anymore
*
* @param layerId the layer to remove
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 67a0c45134..914dbad32d 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
@@ -783,6 +783,13 @@ final class NativeMapView {
nativeAddLayerAbove(layer.getNativePtr(), above);
}
+ public void addLayerAt(@NonNull Layer layer, @IntRange(from = 0) int index) {
+ if (isDestroyedOn("addLayerAt")) {
+ return;
+ }
+ nativeAddLayerAt(layer.getNativePtr(), index);
+ }
+
@Nullable
public Layer removeLayer(@NonNull String layerId) {
if (isDestroyedOn("removeLayer")) {
@@ -1104,6 +1111,8 @@ final class NativeMapView {
private native void nativeAddLayerAbove(long layerPtr, String above) throws CannotAddLayerException;
+ private native void nativeAddLayerAt(long layerPtr, int index) throws CannotAddLayerException;
+
private native Layer nativeRemoveLayerById(String layerId);
private native void nativeRemoveLayer(long layerId);