diff options
Diffstat (limited to 'platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapboxMap.java')
-rw-r--r-- | platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapboxMap.java | 45 |
1 files changed, 16 insertions, 29 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 85287a62c1..275cc2aeab 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 @@ -38,7 +38,6 @@ import com.mapbox.mapboxsdk.constants.MyBearingTracking; import com.mapbox.mapboxsdk.constants.MyLocationTracking; import com.mapbox.mapboxsdk.constants.Style; import com.mapbox.mapboxsdk.geometry.LatLng; -import com.mapbox.mapboxsdk.layers.CustomLayer; import com.mapbox.mapboxsdk.maps.widgets.MyLocationViewSettings; import com.mapbox.mapboxsdk.style.layers.Layer; import com.mapbox.mapboxsdk.style.layers.NoSuchLayerException; @@ -59,6 +58,7 @@ import java.util.concurrent.TimeUnit; * </p> */ public class MapboxMap { + private static final String TAG = MapboxMap.class.getSimpleName(); private MapView mMapView; private UiSettings mUiSettings; @@ -114,6 +114,21 @@ public class MapboxMap { return getMapView().getNativeMapView().getLayer(layerId); } + /** + * Tries to cast the Layer to T, returns null if it's another type + */ + @Nullable + @UiThread + public <T extends Layer> T getLayerAs(@NonNull String layerId) { + try { + //noinspection unchecked + return (T) getMapView().getNativeMapView().getLayer(layerId); + } catch (ClassCastException e) { + Log.e(TAG, String.format("Layer: %s is a different type: %s", layerId, e.getMessage())); + return null; + } + } + @UiThread public void addLayer(@NonNull Layer layer) { addLayer(layer, null); @@ -1621,34 +1636,6 @@ public class MapboxMap { return mOnMyBearingTrackingModeChangeListener; } - // - // Custom layer - // - - /** - * Do not use this method, experimental feature. - */ - @UiThread - public void addCustomLayer(CustomLayer customLayer, String before) { - mMapView.addCustomLayer(customLayer, before); - } - - /** - * Do not use this method, experimental feature. - */ - @UiThread - public void removeCustomLayer(String id) { - mMapView.removeCustomLayer(id); - } - - /** - * Do not use this method, experimental feature. - */ - @UiThread - public void invalidateCustomLayers() { - mMapView.invalidateCustomLayers(); - } - MapView getMapView() { return mMapView; } |