summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTobrun <tobrun.van.nuland@gmail.com>2018-01-19 13:32:01 +0100
committerTobrun <tobrun.van.nuland@gmail.com>2018-01-23 15:37:54 +0100
commitbb76dced78fa3bd72c233cba10d7844a0e975ce5 (patch)
tree9354c7af33bbf3cd3ab41782057e5258348abd02
parent2d15aed43c9faa875a8f625c3afc286f1175e0ce (diff)
downloadqtlocation-mapboxgl-bb76dced78fa3bd72c233cba10d7844a0e975ce5.tar.gz
[android] - expose Style.java as public api
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/constants/Style.java87
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/AttributionDialogManager.java2
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapView.java3
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapboxMap.java436
-rwxr-xr-xplatform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/NativeMapView.java2
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/Style.java472
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/snapshotter/MapSnapshotter.java2
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/test/java/com/mapbox/mapboxsdk/maps/MapboxMapOptionsTest.java1
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/maps/MapboxMapTest.java10
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/activity/BaseActivityTest.java3
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/maps/widgets/AttributionTest.java2
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/BackgroundLayerTest.java2
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/CircleLayerTest.java8
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/FillExtrusionLayerTest.java6
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/FillLayerTest.java8
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/GeoJsonSourceTests.java20
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/ImageTest.java8
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/LightTest.java4
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/LineLayerTest.java8
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/RasterLayerTest.java6
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/RuntimeStyleTests.java90
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/SymbolLayerTest.java6
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/annotation/PolygonActivity.java2
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/camera/ManualZoomActivity.java2
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/camera/MaxMinZoomActivity.java7
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/customlayer/CustomLayerActivity.java6
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/feature/QueryRenderedFeaturesBoxHighlightActivity.java4
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/feature/QueryRenderedFeaturesBoxSymbolCountActivity.java8
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/feature/QuerySourceFeaturesActivity.java7
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/fragment/MapFragmentActivity.java2
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/fragment/SupportMapFragmentActivity.java2
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/fragment/ViewPagerActivity.java2
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/imagegenerator/SnapshotActivity.java4
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/maplayout/BottomSheetActivity.java2
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/maplayout/DebugModeActivity.java11
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/maplayout/DoubleMapActivity.java6
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/offline/OfflineActivity.java2
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/snapshot/MapSnapshotterActivity.java2
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/snapshot/MapSnapshotterMarkerActivity.java4
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/snapshot/MapSnapshotterReuseActivity.java2
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/AnimatedImageSourceActivity.java9
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/BuildingFillExtrusionActivity.java4
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/CircleLayerActivity.java26
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/CustomSpriteActivity.java9
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/DataDrivenStyleActivity.java27
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/FillExtrusionActivity.java4
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/GeoJsonClusteringActivity.java8
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/GridSourceActivity.java4
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/RealTimeGeoJsonActivity.java6
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/RuntimeStyleActivity.java69
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/RuntimeStyleTimingTestActivity.java4
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/StyleFileActivity.java5
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/SymbolGeneratorActivity.java12
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/SymbolLayerActivity.java18
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/ZoomFunctionSymbolLayerActivity.java4
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/textureview/TextureViewDebugModeActivity.java12
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/userlocation/MyLocationDrawableActivity.java2
57 files changed, 765 insertions, 719 deletions
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/constants/Style.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/constants/Style.java
deleted file mode 100644
index 9943a72e06..0000000000
--- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/constants/Style.java
+++ /dev/null
@@ -1,87 +0,0 @@
-package com.mapbox.mapboxsdk.constants;
-
-import android.support.annotation.StringDef;
-
-import com.mapbox.mapboxsdk.maps.MapView;
-
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-
-/**
- * <p>
- * Style provides URLs to several professional styles designed by Mapbox.
- * </p>
- * These styles are all ready to go in your app. To load one, pass it into {@link MapView#setStyleUrl(String)}
- *
- * @see MapView#setStyleUrl(String)
- */
-public class Style {
-
- /**
- * Indicates the parameter accepts one of the values from Style. Using one of these
- * constants means your map style will always use the latest version and may change as we
- * improve the style
- */
- @StringDef( {MAPBOX_STREETS, OUTDOORS, LIGHT, DARK, SATELLITE, SATELLITE_STREETS, TRAFFIC_DAY, TRAFFIC_NIGHT})
- @Retention(RetentionPolicy.SOURCE)
- public @interface StyleUrl {
- }
-
- // IMPORTANT: If you change any of these you also need to edit them in strings.xml
-
- /**
- * Mapbox Streets: A complete basemap, perfect for incorporating your own data. Using this
- * constant means your map style will always use the latest version and may change as we
- * improve the style.
- */
- public static final String MAPBOX_STREETS = "mapbox://styles/mapbox/streets-v10";
-
- /**
- * Outdoors: A general-purpose style tailored to outdoor activities. Using this constant means
- * your map style will always use the latest version and may change as we improve the style.
- */
- public static final String OUTDOORS = "mapbox://styles/mapbox/outdoors-v10";
-
- /**
- * Light: Subtle light backdrop for data visualizations. Using this constant means your map
- * style will always use the latest version and may change as we improve the style.
- */
- public static final String LIGHT = "mapbox://styles/mapbox/light-v9";
-
- /**
- * Dark: Subtle dark backdrop for data visualizations. Using this constant means your map style
- * will always use the latest version and may change as we improve the style.
- */
- public static final String DARK = "mapbox://styles/mapbox/dark-v9";
-
- /**
- * Satellite: A beautiful global satellite and aerial imagery layer. Using this constant means
- * your map style will always use the latest version and may change as we improve the style.
- */
- public static final String SATELLITE = "mapbox://styles/mapbox/satellite-v9";
-
- /**
- * Satellite Streets: Global satellite and aerial imagery with unobtrusive labels. Using this
- * constant means your map style will always use the latest version and may change as we
- * improve the style.
- */
- public static final String SATELLITE_STREETS = "mapbox://styles/mapbox/satellite-streets-v10";
-
- /**
- * Traffic Day: Color-coded roads based on live traffic congestion data. Traffic data is currently
- * available in
- * <a href="https://www.mapbox.com/api-documentation/pages/traffic-countries.html">these select
- * countries</a>. Using this constant means your map style will always use the latest version and
- * may change as we improve the style.
- */
- public static final String TRAFFIC_DAY = "mapbox://styles/mapbox/traffic-day-v2";
-
- /**
- * Traffic Night: Color-coded roads based on live traffic congestion data, designed to maximize
- * legibility in low-light situations. Traffic data is currently available in
- * <a href="https://www.mapbox.com/api-documentation/pages/traffic-countries.html">these select
- * countries</a>. Using this constant means your map style will always use the latest version and
- * may change as we improve the style.
- */
- public static final String TRAFFIC_NIGHT = "mapbox://styles/mapbox/traffic-night-v2";
-}
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/AttributionDialogManager.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/AttributionDialogManager.java
index b12757c81e..7d4b76cb1e 100644
--- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/AttributionDialogManager.java
+++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/AttributionDialogManager.java
@@ -146,7 +146,7 @@ public class AttributionDialogManager implements View.OnClickListener, DialogInt
private Set<Attribution> build() {
List<String> attributions = new ArrayList<>();
- for (Source source : mapboxMap.getSources()) {
+ for (Source source : mapboxMap.getStyle().getSources()) {
attributions.add(source.getAttribution());
}
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapView.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapView.java
index 7aa5d268d2..5180bbc2f3 100644
--- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapView.java
+++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapView.java
@@ -27,7 +27,6 @@ import com.mapbox.mapboxsdk.R;
import com.mapbox.mapboxsdk.annotations.Annotation;
import com.mapbox.mapboxsdk.annotations.MarkerViewManager;
import com.mapbox.mapboxsdk.constants.MapboxConstants;
-import com.mapbox.mapboxsdk.constants.Style;
import com.mapbox.mapboxsdk.maps.renderer.MapRenderer;
import com.mapbox.mapboxsdk.maps.renderer.glsurfaceview.GLSurfaceViewMapRenderer;
import com.mapbox.mapboxsdk.maps.renderer.textureview.TextureViewMapRenderer;
@@ -528,7 +527,7 @@ public class MapView extends FrameLayout {
mapboxMapOptions.styleUrl(url);
return;
}
- nativeMapView.setStyleUrl(url);
+ mapboxMap.setStyle(Style.fromUrl(url));
}
//
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 509e784e58..8e82fcfc30 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
@@ -7,7 +7,6 @@ import android.graphics.RectF;
import android.location.Location;
import android.os.Bundle;
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;
@@ -33,20 +32,15 @@ import com.mapbox.mapboxsdk.camera.CameraUpdateFactory;
import com.mapbox.mapboxsdk.constants.MapboxConstants;
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.geometry.LatLngBounds;
import com.mapbox.mapboxsdk.maps.widgets.MyLocationViewSettings;
import com.mapbox.mapboxsdk.style.layers.Filter;
-import com.mapbox.mapboxsdk.style.layers.Layer;
-import com.mapbox.mapboxsdk.style.light.Light;
-import com.mapbox.mapboxsdk.style.sources.Source;
import com.mapbox.services.android.telemetry.location.LocationEngine;
import com.mapbox.services.commons.geojson.Feature;
import com.mapbox.services.commons.geojson.Geometry;
import java.lang.reflect.ParameterizedType;
-import java.util.HashMap;
import java.util.List;
import timber.log.Timber;
@@ -75,6 +69,7 @@ public final class MapboxMap {
private final OnRegisterTouchListener onRegisterTouchListener;
+ private Style style;
private MapboxMap.OnFpsChangedListener onFpsChangedListener;
private PointF focalPoint;
@@ -101,7 +96,7 @@ public final class MapboxMap {
// Map configuration
setDebugActive(options.getDebugActive());
setApiBaseUrl(options);
- setStyleUrl(options);
+ setStyle(options);
setPrefetchesTiles(options);
}
@@ -201,50 +196,6 @@ public final class MapboxMap {
}
}
- // Style
-
- /**
- * <p>
- * Get the animation duration for style changes.
- * </p>
- * The default value is zero, so any changes take effect without animation.
- *
- * @return Duration in milliseconds
- */
- public long getTransitionDuration() {
- return nativeMapView.getTransitionDuration();
- }
-
- /**
- * Set the animation duration for style changes.
- *
- * @param durationMs Duration in milliseconds
- */
- public void setTransitionDuration(long durationMs) {
- nativeMapView.setTransitionDuration(durationMs);
- }
-
- /**
- * <p>
- * Get the animation delay for style changes.
- * </p>
- * The default value is zero, so any changes begin to animate immediately.
- *
- * @return Delay in milliseconds
- */
- public long getTransitionDelay() {
- return nativeMapView.getTransitionDelay();
- }
-
- /**
- * Set the animation delay for style changes.
- *
- * @param delayMs Delay in milliseconds
- */
- public void setTransitionDelay(long delayMs) {
- nativeMapView.setTransitionDelay(delayMs);
- }
-
/**
* Sets tile pre-fetching from MapboxOptions.
*
@@ -274,216 +225,6 @@ public final class MapboxMap {
return nativeMapView.getPrefetchesTiles();
}
- /**
- * Retrieve all the layers in the style
- *
- * @return all the layers in the current style
- */
- public List<Layer> getLayers() {
- return nativeMapView.getLayers();
- }
-
- /**
- * Get the layer by id
- *
- * @param layerId the layer's id
- * @return the layer, if present in the style
- */
- @Nullable
- public Layer getLayer(@NonNull String layerId) {
- return nativeMapView.getLayer(layerId);
- }
-
- /**
- * Tries to cast the Layer to T, returns null if it's another type.
- *
- * @param layerId the layer id used to look up a layer
- * @param <T> the generic attribute of a Layer
- * @return the casted Layer, null if another type
- */
- @Nullable
- public <T extends Layer> T getLayerAs(@NonNull String layerId) {
- try {
- // noinspection unchecked
- return (T) nativeMapView.getLayer(layerId);
- } catch (ClassCastException exception) {
- Timber.e(exception, "Layer: %s is a different type: ", layerId);
- return null;
- }
- }
-
- /**
- * 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
- */
- public void addLayer(@NonNull Layer layer) {
- nativeMapView.addLayer(layer);
- }
-
- /**
- * 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 below the layer id to add this layer before
- */
- public void addLayerBelow(@NonNull Layer layer, @NonNull String below) {
- nativeMapView.addLayerBelow(layer, below);
- }
-
- /**
- * 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 above the layer id to add this layer above
- */
- public void addLayerAbove(@NonNull Layer layer, @NonNull String above) {
- nativeMapView.addLayerAbove(layer, above);
- }
-
- /**
- * 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
- */
- 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
- * @return the removed layer or null if not found
- */
- @Nullable
- public Layer removeLayer(@NonNull String layerId) {
- return nativeMapView.removeLayer(layerId);
- }
-
- /**
- * Removes the layer. The reference is re-usable after this and can be re-added
- *
- * @param layer the layer to remove
- * @return the layer
- */
- @Nullable
- public Layer removeLayer(@NonNull Layer layer) {
- return nativeMapView.removeLayer(layer);
- }
-
- /**
- * 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
- */
- @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
- */
- public List<Source> getSources() {
- return nativeMapView.getSources();
- }
-
- /**
- * Retrieve a source by id
- *
- * @param sourceId the source's id
- * @return the source if present in the current style
- */
- @Nullable
- public Source getSource(@NonNull String sourceId) {
- return nativeMapView.getSource(sourceId);
- }
-
- /**
- * Tries to cast the Source to T, returns null if it's another type.
- *
- * @param sourceId the id used to look up a layer
- * @param <T> the generic type of a Source
- * @return the casted Source, null if another type
- */
- @Nullable
- public <T extends Source> T getSourceAs(@NonNull String sourceId) {
- try {
- // noinspection unchecked
- return (T) nativeMapView.getSource(sourceId);
- } catch (ClassCastException exception) {
- Timber.e(exception, "Source: %s is a different type: ", sourceId);
- return null;
- }
- }
-
- /**
- * Adds the source to the map. The source must be newly created and not added to the map before
- *
- * @param source the source to add
- */
- public void addSource(@NonNull Source source) {
- nativeMapView.addSource(source);
- }
-
- /**
- * Removes the source. Any references to the source become invalid and should not be used anymore
- *
- * @param sourceId the source to remove
- * @return the source handle or null if the source was not present
- */
- @Nullable
- public Source removeSource(@NonNull String sourceId) {
- return nativeMapView.removeSource(sourceId);
- }
-
- /**
- * Removes the source, preserving the reverence for re-use
- *
- * @param source the source to remove
- * @return the source
- */
- @Nullable
- public Source removeSource(@NonNull Source source) {
- return nativeMapView.removeSource(source);
- }
-
- /**
- * Adds an image to be used in the map's style
- *
- * @param name the name of the image
- * @param image the pre-multiplied Bitmap
- */
- public void addImage(@NonNull String name, @NonNull Bitmap image) {
- nativeMapView.addImage(name, image);
- }
-
- /**
- * Adds an images to be used in the map's style
- */
- public void addImages(@NonNull HashMap<String, Bitmap> images) {
- nativeMapView.addImages(images);
- }
-
- /**
- * Removes an image from the map's style
- *
- * @param name the name of the image to remove
- */
- public void removeImage(String name) {
- nativeMapView.removeImage(name);
- }
-
- public Bitmap getImage(@NonNull String name) {
- return nativeMapView.getImage(name);
- }
-
//
// MinZoom
//
@@ -601,20 +342,6 @@ public final class MapboxMap {
}
//
- //
- //
-
- /**
- * Get the global light source used to change lighting conditions on extruded fill layers.
- *
- * @return the global light source
- */
- @Nullable
- public Light getLight() {
- return nativeMapView.getLight();
- }
-
- //
// Camera API
//
@@ -1013,158 +740,51 @@ public final class MapboxMap {
// Styling
//
- /**
- * <p>
- * Loads a new map style asynchronous from the specified URL.
- * </p>
- * {@code url} can take the following forms:
- * <ul>
- * <li>{@code Style.*}: load one of the bundled styles in {@link Style}.</li>
- * <li>{@code mapbox://styles/<user>/<style>}:
- * loads the style from a <a href="https://www.mapbox.com/account/">Mapbox account.</a>
- * {@code user} is your username. {@code style} is the ID of your custom
- * style created in <a href="https://www.mapbox.com/studio">Mapbox Studio</a>.</li>
- * <li>{@code http://...} or {@code https://...}:
- * loads the style over the Internet from any web server.</li>
- * <li>{@code asset://...}:
- * loads the style from the APK {@code assets/} directory.
- * This is used to load a style bundled with your app.</li>
- * <li>{@code null}: loads the default {@link Style#MAPBOX_STREETS} style.</li>
- * </ul>
- * <p>
- * This method is asynchronous and will return before the style finishes loading.
- * If you wish to wait for the map to finish loading, listen for the {@link MapView#DID_FINISH_LOADING_MAP} event
- * or use the {@link #setStyleUrl(String, OnStyleLoadedListener)} method instead.
- * </p>
- * If the style fails to load or an invalid style URL is set, the map view will become blank.
- * An error message will be logged in the Android logcat and {@link MapView#DID_FAIL_LOADING_MAP} event will be
- * emitted.
- *
- * @param url The URL of the map style
- * @see Style
- */
- public void setStyleUrl(@NonNull String url) {
- setStyleUrl(url, null);
+ public void setStyle(Style style) {
+ style.bind(nativeMapView);
+ this.style = style.load();
}
- /**
- * <p>
- * Loads a new map style asynchronous from the specified URL.
- * </p>
- * {@code url} can take the following forms:
- * <ul>
- * <li>{@code Style.*}: load one of the bundled styles in {@link Style}.</li>
- * <li>{@code mapbox://styles/<user>/<style>}:
- * loads the style from a <a href="https://www.mapbox.com/account/">Mapbox account.</a>
- * {@code user} is your username. {@code style} is the ID of your custom
- * style created in <a href="https://www.mapbox.com/studio">Mapbox Studio</a>.</li>
- * <li>{@code http://...} or {@code https://...}:
- * loads the style over the Internet from any web server.</li>
- * <li>{@code asset://...}:
- * loads the style from the APK {@code assets/} directory.
- * This is used to load a style bundled with your app.</li>
- * <li>{@code null}: loads the default {@link Style#MAPBOX_STREETS} style.</li>
- * </ul>
- * <p>
- * If the style fails to load or an invalid style URL is set, the map view will become blank.
- * An error message will be logged in the Android logcat and {@link MapView#DID_FAIL_LOADING_MAP} event will be
- * emitted.
- * <p>
- *
- * @param url The URL of the map style
- * @param callback The callback that is invoked when the style has loaded.
- * @see Style
- */
- public void setStyleUrl(@NonNull final String url, @Nullable final OnStyleLoadedListener callback) {
+ private void setStyle(@NonNull MapboxMapOptions options) {
+ String style = options.getStyle();
+ if (!TextUtils.isEmpty(style)) {
+ setStyle(Style.fromUrl(style));
+ }
+ }
+
+ public Style getStyle() {
+ if (style == null) {
+ style = new Style();
+ style.bind(nativeMapView);
+ }
+ return style;
+ }
+
+ public void setStyle(@NonNull final Style style, @Nullable final OnStyleLoadedListener callback) {
if (callback != null) {
nativeMapView.addOnMapChangedListener(new MapView.OnMapChangedListener() {
@Override
public void onMapChanged(@MapView.MapChange int change) {
if (change == MapView.DID_FINISH_LOADING_STYLE) {
- callback.onStyleLoaded(url);
+ callback.onStyleLoaded(style);
nativeMapView.removeOnMapChangedListener(this);
}
}
});
}
- nativeMapView.setStyleUrl(url);
- }
-
- /**
- * <p>
- * Loads a new map style from the specified bundled style.
- * </p>
- * <p>
- * This method is asynchronous and will return before the style finishes loading.
- * If you wish to wait for the map to finish loading, listen for the {@link MapView#DID_FINISH_LOADING_MAP} event
- * or use the {@link #setStyle(String, OnStyleLoadedListener)} method instead.
- * </p>
- * If the style fails to load or an invalid style URL is set, the map view will become blank.
- * An error message will be logged in the Android logcat and {@link MapView#DID_FAIL_LOADING_MAP} event will be
- * sent.
- *
- * @param style The bundled style.
- * @see Style
- */
- public void setStyle(@Style.StyleUrl String style) {
- setStyleUrl(style);
- }
-
- /**
- * <p>
- * Loads a new map style from the specified bundled style.
- * </p>
- * If the style fails to load or an invalid style URL is set, the map view will become blank.
- * An error message will be logged in the Android logcat and {@link MapView#DID_FAIL_LOADING_MAP} event will be
- * sent.
- *
- * @param style The bundled style.
- * @param callback The callback to be invoked when the style has finished loading
- * @see Style
- */
- public void setStyle(@Style.StyleUrl String style, @Nullable OnStyleLoadedListener callback) {
- setStyleUrl(style, callback);
+ setStyle(style);
}
- /**
- * Loads a new map style from MapboxMapOptions if available.
- *
- * @param options the object containing the style url
- */
- private void setStyleUrl(@NonNull MapboxMapOptions options) {
- String style = options.getStyle();
- if (!TextUtils.isEmpty(style)) {
- setStyleUrl(style, null);
- }
- }
-
- /**
- * Returns the map style url currently displayed in the map view.
- *
- * @return The URL of the map style
- */
@Nullable
public String getStyleUrl() {
return nativeMapView.getStyleUrl();
}
- /**
- * Loads a new map style from a json string.
- * <p>
- * If the style fails to load or an invalid style URL is set, the map view will become blank.
- * An error message will be logged in the Android logcat and {@link MapView#DID_FAIL_LOADING_MAP} event will be
- * sent.
- * </p>
- */
public void setStyleJson(@NonNull String styleJson) {
nativeMapView.setStyleJson(styleJson);
}
- /**
- * Returns the map style json currently displayed in the map view.
- *
- * @return The json of the map style
- */
+
public String getStyleJson() {
return nativeMapView.getStyleJson();
}
@@ -1882,7 +1502,6 @@ public final class MapboxMap {
*
* @param listener The callback that's invoked when the map is scrolled.
* To unset the callback, use null.
- *
* @deprecated Use {@link #addOnScrollListener(OnScrollListener)} instead.
*/
@Deprecated
@@ -1895,7 +1514,6 @@ public final class MapboxMap {
*
* @param listener The callback that's invoked when the map is scrolled.
* To unset the callback, use null.
- *
*/
public void addOnScrollListener(@Nullable OnScrollListener listener) {
onRegisterTouchListener.onAddScrollListener(listener);
@@ -1906,7 +1524,6 @@ public final class MapboxMap {
*
* @param listener The callback that's invoked when the map is scrolled.
* To unset the callback, use null.
- *
*/
public void removeOnScrollListener(@Nullable OnScrollListener listener) {
onRegisterTouchListener.onRemoveScrollListener(listener);
@@ -1917,7 +1534,6 @@ public final class MapboxMap {
*
* @param listener The callback that's invoked when the map is flinged.
* To unset the callback, use null.
- *
* @deprecated Use {@link #addOnFlingListener(OnFlingListener)} instead.
*/
@Deprecated
@@ -1950,7 +1566,6 @@ public final class MapboxMap {
*
* @param listener The callback that's invoked when the user clicks on the map view.
* To unset the callback, use null.
- *
* @deprecated Use {@link #addOnMapClickListener(OnMapClickListener)} instead.
*/
@Deprecated
@@ -1983,7 +1598,6 @@ public final class MapboxMap {
*
* @param listener The callback that's invoked when the user long clicks on the map view.
* To unset the callback, use null.
- *
* @deprecated Use {@link #addOnMapLongClickListener(OnMapLongClickListener)} instead.
*/
@Deprecated
@@ -2753,7 +2367,7 @@ public final class MapboxMap {
*
* @param style the style that has been loaded
*/
- void onStyleLoaded(String style);
+ void onStyleLoaded(Style 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 f1635c898f..24e963f6b0 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
@@ -145,7 +145,7 @@ final class NativeMapView {
}
public void setStyleUrl(String url) {
- if (isDestroyedOn("setStyleUrl")) {
+ if (isDestroyedOn("setStyle")) {
return;
}
nativeSetStyleUrl(url);
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/Style.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/Style.java
new file mode 100644
index 0000000000..0ca7cf1c7b
--- /dev/null
+++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/Style.java
@@ -0,0 +1,472 @@
+package com.mapbox.mapboxsdk.maps;
+
+import android.graphics.Bitmap;
+import android.support.annotation.IntRange;
+import android.support.annotation.NonNull;
+import android.support.annotation.Nullable;
+import android.support.annotation.StringDef;
+
+import com.mapbox.mapboxsdk.camera.CameraPosition;
+import com.mapbox.mapboxsdk.style.layers.Layer;
+import com.mapbox.mapboxsdk.style.light.Light;
+import com.mapbox.mapboxsdk.style.sources.Source;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.util.HashMap;
+import java.util.List;
+
+import timber.log.Timber;
+
+public class Style {
+
+ // todo remove NativeMapView facade
+ private NativeMapView nativeMapView;
+
+ private String url;
+ private String json;
+
+ // todo make private
+ Style() {
+
+ }
+
+ // todo remove
+ public void bind(NativeMapView nativeMapView) {
+ this.nativeMapView = nativeMapView;
+ }
+
+ /**
+ * <p>
+ * Loads a new map style asynchronous from the specified URL.
+ * </p>
+ * {@code url} can take the following forms:
+ * <ul>
+ * <li>{@code Style.*}: load one of the bundled styles in {@link Style}.</li>
+ * <li>{@code mapbox://styles/<user>/<style>}:
+ * loads the style from a <a href="https://www.mapbox.com/account/">Mapbox account.</a>
+ * {@code user} is your username. {@code style} is the ID of your custom
+ * style created in <a href="https://www.mapbox.com/studio">Mapbox Studio</a>.</li>
+ * <li>{@code http://...} or {@code https://...}:
+ * loads the style over the Internet from any web server.</li>
+ * <li>{@code asset://...}:
+ * loads the style from the APK {@code assets/} directory.
+ * This is used to load a style bundled with your app.</li>
+ * <li>{@code null}: loads the default
+ * {@link com.mapbox.mapboxsdk.constants.StyleConstants#MAPBOX_STREETS} style.</li>
+ * </ul>
+ * <p>
+ * This method is asynchronous and will return before the style finishes loading.
+ * If you wish to wait for the map to finish loading, listen for the {@link MapView#DID_FINISH_LOADING_MAP} event
+ * or use the {@link MapboxMap#setStyle(Style, MapboxMap.OnStyleLoadedListener)} method instead.
+ * </p>
+ * If the style fails to load or an invalid style URL is set, the map view will become blank.
+ * An error message will be logged in the Android logcat and {@link MapView#DID_FAIL_LOADING_MAP} event will be
+ * emitted.
+ *
+ * @param url The URL of the map style
+ * @see Style
+ */
+ public static Style fromUrl(String url) {
+ Style style = new Style();
+ style.setUrl(url);
+ return style;
+ }
+
+ /**
+ * Loads a new map style from a json string.
+ * <p>
+ * If the style fails to load or an invalid style URL is set, the map view will become blank.
+ * An error message will be logged in the Android logcat and {@link MapView#DID_FAIL_LOADING_MAP} event will be
+ * sent.
+ * </p>
+ */
+ public static Style fromJson(String json) {
+ Style style = new Style();
+ style.setJson(json);
+ return style;
+ }
+
+ private void setJson(String json) {
+ this.json = json;
+ }
+
+ private void setUrl(String url) {
+ this.url = url;
+ }
+
+ Style load() {
+ if (url != null) {
+ nativeMapView.setStyleUrl(url);
+ } else if (json != null) {
+ nativeMapView.setStyleJson(json);
+ } else {
+ throw new IllegalStateException();
+ }
+ return this;
+ }
+
+ //todo implement
+ public String getName() {
+ return "";
+ }
+
+ // Todo implement
+ public CameraPosition getDefaultCameraPosition() {
+ return null;
+ }
+
+ /**
+ * <p>
+ * Get the animation duration for style changes.
+ * </p>
+ * The default value is zero, so any changes take effect without animation.
+ *
+ * @return Duration in milliseconds
+ */
+ public long getTransitionDuration() {
+ return nativeMapView.getTransitionDuration();
+ }
+
+ /**
+ * Set the animation duration for style changes.
+ *
+ * @param durationMs Duration in milliseconds
+ */
+ public void setTransitionDuration(long durationMs) {
+ nativeMapView.setTransitionDuration(durationMs);
+ }
+
+ /**
+ * <p>
+ * Get the animation delay for style changes.
+ * </p>
+ * The default value is zero, so any changes begin to animate immediately.
+ *
+ * @return Delay in milliseconds
+ */
+ public long getTransitionDelay() {
+ return nativeMapView.getTransitionDelay();
+ }
+
+ /**
+ * Set the animation delay for style changes.
+ *
+ * @param delayMs Delay in milliseconds
+ */
+ public void setTransitionDelay(long delayMs) {
+ nativeMapView.setTransitionDelay(delayMs);
+ }
+
+ /**
+ * Get the global light source used to change lighting conditions on extruded fill layers.
+ *
+ * @return the global light source
+ */
+ @Nullable
+ public Light getLight() {
+ return nativeMapView.getLight();
+ }
+
+ /**
+ * Retrieve all the layers in the style
+ *
+ * @return all the layers in the current style
+ */
+ public List<Layer> getLayers() {
+ return nativeMapView.getLayers();
+ }
+
+ /**
+ * Get the layer by id
+ *
+ * @param layerId the layer's id
+ * @return the layer, if present in the style
+ */
+ @Nullable
+ public Layer getLayer(@NonNull String layerId) {
+ return nativeMapView.getLayer(layerId);
+ }
+
+ /**
+ * Tries to cast the Layer to T, returns null if it's another type.
+ *
+ * @param layerId the layer id used to look up a layer
+ * @param <T> the generic attribute of a Layer
+ * @return the casted Layer, null if another type
+ */
+ @Nullable
+ public <T extends Layer> T getLayerAs(@NonNull String layerId) {
+ try {
+ // noinspection unchecked
+ return (T) nativeMapView.getLayer(layerId);
+ } catch (ClassCastException exception) {
+ Timber.e(exception, "Layer: %s is a different type: ", layerId);
+ return null;
+ }
+ }
+
+ /**
+ * 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
+ */
+ public void addLayer(@NonNull Layer layer) {
+ nativeMapView.addLayer(layer);
+ }
+
+ /**
+ * 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 below the layer id to add this layer before
+ */
+ public void addLayerBelow(@NonNull Layer layer, @NonNull String below) {
+ nativeMapView.addLayerBelow(layer, below);
+ }
+
+ /**
+ * 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 above the layer id to add this layer above
+ */
+ public void addLayerAbove(@NonNull Layer layer, @NonNull String above) {
+ nativeMapView.addLayerAbove(layer, above);
+ }
+
+ /**
+ * 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
+ */
+ 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
+ * @return the removed layer or null if not found
+ */
+ @Nullable
+ public Layer removeLayer(@NonNull String layerId) {
+ return nativeMapView.removeLayer(layerId);
+ }
+
+ /**
+ * Removes the layer. The reference is re-usable after this and can be re-added
+ *
+ * @param layer the layer to remove
+ * @return the layer
+ */
+ @Nullable
+ public Layer removeLayer(@NonNull Layer layer) {
+ return nativeMapView.removeLayer(layer);
+ }
+
+ /**
+ * 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
+ */
+ @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
+ */
+ public List<Source> getSources() {
+ return nativeMapView.getSources();
+ }
+
+ /**
+ * Retrieve a source by id
+ *
+ * @param sourceId the source's id
+ * @return the source if present in the current style
+ */
+ @Nullable
+ public Source getSource(@NonNull String sourceId) {
+ return nativeMapView.getSource(sourceId);
+ }
+
+ /**
+ * Tries to cast the Source to T, returns null if it's another type.
+ *
+ * @param sourceId the id used to look up a layer
+ * @param <T> the generic type of a Source
+ * @return the casted Source, null if another type
+ */
+ @Nullable
+ public <T extends Source> T getSourceAs(@NonNull String sourceId) {
+ try {
+ // noinspection unchecked
+ return (T) nativeMapView.getSource(sourceId);
+ } catch (ClassCastException exception) {
+ Timber.e(exception, "Source: %s is a different type: ", sourceId);
+ return null;
+ }
+ }
+
+ /**
+ * Adds the source to the map. The source must be newly created and not added to the map before
+ *
+ * @param source the source to add
+ */
+ public void addSource(@NonNull Source source) {
+ nativeMapView.addSource(source);
+ }
+
+ /**
+ * Removes the source. Any references to the source become invalid and should not be used anymore
+ *
+ * @param sourceId the source to remove
+ * @return the source handle or null if the source was not present
+ */
+ @Nullable
+ public Source removeSource(@NonNull String sourceId) {
+ return nativeMapView.removeSource(sourceId);
+ }
+
+ /**
+ * Removes the source, preserving the reverence for re-use
+ *
+ * @param source the source to remove
+ * @return the source
+ */
+ @Nullable
+ public Source removeSource(@NonNull Source source) {
+ return nativeMapView.removeSource(source);
+ }
+
+ /**
+ * Adds an image to be used in the map's style
+ *
+ * @param name the name of the image
+ * @param image the pre-multiplied Bitmap
+ */
+ public void addImage(@NonNull String name, @NonNull Bitmap image) {
+ nativeMapView.addImage(name, image);
+ }
+
+ /**
+ * Adds an images to be used in the map's style
+ */
+ public void addImages(@NonNull HashMap<String, Bitmap> images) {
+ nativeMapView.addImages(images);
+ }
+
+ /**
+ * Removes an image from the map's style
+ *
+ * @param name the name of the image to remove
+ */
+ public void removeImage(String name) {
+ nativeMapView.removeImage(name);
+ }
+
+ //TODO add javadoc
+ public Bitmap getImage(@NonNull String name) {
+ return nativeMapView.getImage(name);
+ }
+
+
+ /**
+ * Returns the map style url currently displayed in the map view.
+ *
+ * @return The URL of the map style
+ */
+ public String getUrl() {
+ return url;
+ }
+
+ /**
+ * Returns the map style json currently displayed in the map view.
+ *
+ * @return The json of the map style
+ */
+ public String getJson() {
+ return json;
+ }
+
+ //
+ // Constants
+ //
+
+ /**
+ * Indicates the parameter accepts one of the values from Style. Using one of these
+ * constants means your map style will always use the latest version and may change as we
+ * improve the style
+ */
+ @StringDef( {MAPBOX_STREETS, OUTDOORS, LIGHT, DARK, SATELLITE, SATELLITE_STREETS, TRAFFIC_DAY, TRAFFIC_NIGHT})
+ @Retention(RetentionPolicy.SOURCE)
+ public @interface StyleUrl {
+ }
+
+ // IMPORTANT: If you change any of these you also need to edit them in strings.xml
+
+ /**
+ * Mapbox Streets: A complete basemap, perfect for incorporating your own data. Using this
+ * constant means your map style will always use the latest version and may change as we
+ * improve the style.
+ */
+ public static final String MAPBOX_STREETS = "mapbox://styles/mapbox/streets-v10";
+
+ /**
+ * Outdoors: A general-purpose style tailored to outdoor activities. Using this constant means
+ * your map style will always use the latest version and may change as we improve the style.
+ */
+ public static final String OUTDOORS = "mapbox://styles/mapbox/outdoors-v10";
+
+ /**
+ * Light: Subtle light backdrop for data visualizations. Using this constant means your map
+ * style will always use the latest version and may change as we improve the style.
+ */
+ public static final String LIGHT = "mapbox://styles/mapbox/light-v9";
+
+ /**
+ * Dark: Subtle dark backdrop for data visualizations. Using this constant means your map style
+ * will always use the latest version and may change as we improve the style.
+ */
+ public static final String DARK = "mapbox://styles/mapbox/dark-v9";
+
+ /**
+ * Satellite: A beautiful global satellite and aerial imagery layer. Using this constant means
+ * your map style will always use the latest version and may change as we improve the style.
+ */
+ public static final String SATELLITE = "mapbox://styles/mapbox/satellite-v9";
+
+ /**
+ * Satellite Streets: Global satellite and aerial imagery with unobtrusive labels. Using this
+ * constant means your map style will always use the latest version and may change as we
+ * improve the style.
+ */
+ public static final String SATELLITE_STREETS = "mapbox://styles/mapbox/satellite-streets-v10";
+
+ /**
+ * Traffic Day: Color-coded roads based on live traffic congestion data. Traffic data is currently
+ * available in
+ * <a href="https://www.mapbox.com/api-documentation/pages/traffic-countries.html">these select
+ * countries</a>. Using this constant means your map style will always use the latest version and
+ * may change as we improve the style.
+ */
+ public static final String TRAFFIC_DAY = "mapbox://styles/mapbox/traffic-day-v2";
+
+ /**
+ * Traffic Night: Color-coded roads based on live traffic congestion data, designed to maximize
+ * legibility in low-light situations. Traffic data is currently available in
+ * <a href="https://www.mapbox.com/api-documentation/pages/traffic-countries.html">these select
+ * countries</a>. Using this constant means your map style will always use the latest version and
+ * may change as we improve the style.
+ */
+ public static final String TRAFFIC_NIGHT = "mapbox://styles/mapbox/traffic-night-v2";
+}
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/snapshotter/MapSnapshotter.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/snapshotter/MapSnapshotter.java
index 1c59bb468e..01ed8f7b02 100644
--- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/snapshotter/MapSnapshotter.java
+++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/snapshotter/MapSnapshotter.java
@@ -22,8 +22,8 @@ import com.mapbox.mapboxsdk.attribution.AttributionLayout;
import com.mapbox.mapboxsdk.attribution.AttributionMeasure;
import com.mapbox.mapboxsdk.attribution.AttributionParser;
import com.mapbox.mapboxsdk.camera.CameraPosition;
-import com.mapbox.mapboxsdk.constants.Style;
import com.mapbox.mapboxsdk.geometry.LatLngBounds;
+import com.mapbox.mapboxsdk.maps.Style;
import com.mapbox.mapboxsdk.storage.FileSource;
import timber.log.Timber;
diff --git a/platform/android/MapboxGLAndroidSDK/src/test/java/com/mapbox/mapboxsdk/maps/MapboxMapOptionsTest.java b/platform/android/MapboxGLAndroidSDK/src/test/java/com/mapbox/mapboxsdk/maps/MapboxMapOptionsTest.java
index 65bdff41ab..84a3d8e492 100644
--- a/platform/android/MapboxGLAndroidSDK/src/test/java/com/mapbox/mapboxsdk/maps/MapboxMapOptionsTest.java
+++ b/platform/android/MapboxGLAndroidSDK/src/test/java/com/mapbox/mapboxsdk/maps/MapboxMapOptionsTest.java
@@ -5,7 +5,6 @@ import android.view.Gravity;
import com.mapbox.mapboxsdk.camera.CameraPosition;
import com.mapbox.mapboxsdk.constants.MapboxConstants;
-import com.mapbox.mapboxsdk.constants.Style;
import com.mapbox.mapboxsdk.geometry.LatLng;
import org.junit.Test;
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/maps/MapboxMapTest.java b/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/maps/MapboxMapTest.java
index b4bc118129..c7f35feb16 100644
--- a/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/maps/MapboxMapTest.java
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/maps/MapboxMapTest.java
@@ -70,9 +70,10 @@ public class MapboxMapTest extends BaseActivityTest {
validateTestSetup();
onView(withId(R.id.mapView)).perform(new MapboxMapAction((uiController, view) -> {
long transitionDuration = 600;
- mapboxMap.setTransitionDuration(transitionDuration);
+ Style style = mapboxMap.getStyle();
+ style.setTransitionDuration(transitionDuration);
assertEquals(
- "TransitionDuration should match", transitionDuration, mapboxMap.getTransitionDuration(), 0
+ "TransitionDuration should match", transitionDuration, style.getTransitionDuration(), 0
);
}));
}
@@ -82,9 +83,10 @@ public class MapboxMapTest extends BaseActivityTest {
validateTestSetup();
onView(withId(R.id.mapView)).perform(new MapboxMapAction((uiController, view) -> {
long transitionDelay = 50;
- mapboxMap.setTransitionDelay(transitionDelay);
+ Style style = mapboxMap.getStyle();
+ style.setTransitionDelay(transitionDelay);
assertEquals(
- "TransitionDelay should match", transitionDelay, mapboxMap.getTransitionDelay(), 0
+ "TransitionDelay should match", transitionDelay, style.getTransitionDelay(), 0
);
}));
}
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/activity/BaseActivityTest.java b/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/activity/BaseActivityTest.java
index 3f32443021..e8ae1900ef 100644
--- a/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/activity/BaseActivityTest.java
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/activity/BaseActivityTest.java
@@ -11,6 +11,7 @@ import android.support.test.espresso.ViewAction;
import android.support.test.rule.ActivityTestRule;
import android.view.View;
import com.mapbox.mapboxsdk.maps.MapboxMap;
+import com.mapbox.mapboxsdk.maps.Style;
import com.mapbox.mapboxsdk.testapp.R;
import com.mapbox.mapboxsdk.testapp.utils.OnMapReadyIdlingResource;
import junit.framework.Assert;
@@ -30,6 +31,7 @@ public abstract class BaseActivityTest {
@Rule
public ActivityTestRule<Activity> rule = new ActivityTestRule<>(getActivityClass());
protected MapboxMap mapboxMap;
+ protected Style style;
protected OnMapReadyIdlingResource idlingResource;
@Before
@@ -40,6 +42,7 @@ public abstract class BaseActivityTest {
Espresso.registerIdlingResources(idlingResource);
checkViewIsDisplayed(R.id.mapView);
mapboxMap = idlingResource.getMapboxMap();
+ style = mapboxMap.getStyle();
} catch (IdlingResourceTimeoutException idlingResourceTimeoutException) {
Timber.e("Idling resource timed out. Couldn't not validate if map is ready.");
throw new RuntimeException("Could not start test for " + getActivityClass().getSimpleName() + ".\n"
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/maps/widgets/AttributionTest.java b/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/maps/widgets/AttributionTest.java
index 09fbcb868c..b70c3e89ad 100644
--- a/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/maps/widgets/AttributionTest.java
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/maps/widgets/AttributionTest.java
@@ -151,7 +151,7 @@ public class AttributionTest extends BaseActivityTest {
private void buildUrlSpans() {
onView(withId(R.id.mapView)).perform(new MapboxMapAction((uiController, view) -> {
- for (Source source : mapboxMap.getSources()) {
+ for (Source source : mapboxMap.getStyle().getSources()) {
String attributionSource = source.getAttribution();
if (!TextUtils.isEmpty(attributionSource)) {
SpannableStringBuilder htmlBuilder = (SpannableStringBuilder) Html.fromHtml(attributionSource);
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/BackgroundLayerTest.java b/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/BackgroundLayerTest.java
index 0e4cf6a8ca..0a5958cbdd 100644
--- a/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/BackgroundLayerTest.java
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/BackgroundLayerTest.java
@@ -54,7 +54,7 @@ public class BackgroundLayerTest extends BaseActivityTest {
invoke(mapboxMap, new MapboxMapAction.OnInvokeActionListener() {
@Override
public void onInvokeAction(UiController uiController, MapboxMap mapboxMap) {
- layer = mapboxMap.getLayerAs("background");
+ layer = mapboxMap.getStyle().getLayerAs("background");
}
});
}
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/CircleLayerTest.java b/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/CircleLayerTest.java
index 559e446307..cbb451d922 100644
--- a/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/CircleLayerTest.java
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/CircleLayerTest.java
@@ -9,6 +9,7 @@ import android.support.test.runner.AndroidJUnit4;
import timber.log.Timber;
import com.mapbox.mapboxsdk.maps.MapboxMap;
+import com.mapbox.mapboxsdk.maps.Style;
import com.mapbox.mapboxsdk.style.functions.CompositeFunction;
import com.mapbox.mapboxsdk.style.functions.CameraFunction;
import com.mapbox.mapboxsdk.style.functions.SourceFunction;
@@ -54,13 +55,14 @@ public class CircleLayerTest extends BaseActivityTest {
invoke(mapboxMap, new MapboxMapAction.OnInvokeActionListener() {
@Override
public void onInvokeAction(UiController uiController, MapboxMap mapboxMap) {
- if ((layer = mapboxMap.getLayerAs("my-layer")) == null) {
+ Style style = mapboxMap.getStyle();
+ if ((layer = style.getLayerAs("my-layer")) == null) {
Timber.i("Adding layer");
layer = new CircleLayer("my-layer", "composite");
layer.setSourceLayer("composite");
- mapboxMap.addLayer(layer);
+ style.addLayer(layer);
// Layer reference is now stale, get new reference
- layer = mapboxMap.getLayerAs("my-layer");
+ layer = style.getLayerAs("my-layer");
}
}
});
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/FillExtrusionLayerTest.java b/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/FillExtrusionLayerTest.java
index 66c6093537..b26342de0a 100644
--- a/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/FillExtrusionLayerTest.java
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/FillExtrusionLayerTest.java
@@ -54,13 +54,13 @@ public class FillExtrusionLayerTest extends BaseActivityTest {
invoke(mapboxMap, new MapboxMapAction.OnInvokeActionListener() {
@Override
public void onInvokeAction(UiController uiController, MapboxMap mapboxMap) {
- if ((layer = mapboxMap.getLayerAs("my-layer")) == null) {
+ if ((layer = style.getLayerAs("my-layer")) == null) {
Timber.i("Adding layer");
layer = new FillExtrusionLayer("my-layer", "composite");
layer.setSourceLayer("composite");
- mapboxMap.addLayer(layer);
+ style.addLayer(layer);
// Layer reference is now stale, get new reference
- layer = mapboxMap.getLayerAs("my-layer");
+ layer = style.getLayerAs("my-layer");
}
}
});
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/FillLayerTest.java b/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/FillLayerTest.java
index 939bcb6892..2a36d06610 100644
--- a/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/FillLayerTest.java
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/FillLayerTest.java
@@ -9,6 +9,7 @@ import android.support.test.runner.AndroidJUnit4;
import timber.log.Timber;
import com.mapbox.mapboxsdk.maps.MapboxMap;
+import com.mapbox.mapboxsdk.maps.Style;
import com.mapbox.mapboxsdk.style.functions.CompositeFunction;
import com.mapbox.mapboxsdk.style.functions.CameraFunction;
import com.mapbox.mapboxsdk.style.functions.SourceFunction;
@@ -54,13 +55,14 @@ public class FillLayerTest extends BaseActivityTest {
invoke(mapboxMap, new MapboxMapAction.OnInvokeActionListener() {
@Override
public void onInvokeAction(UiController uiController, MapboxMap mapboxMap) {
- if ((layer = mapboxMap.getLayerAs("my-layer")) == null) {
+ Style style = mapboxMap.getStyle();
+ if ((layer = style.getLayerAs("my-layer")) == null) {
Timber.i("Adding layer");
layer = new FillLayer("my-layer", "composite");
layer.setSourceLayer("composite");
- mapboxMap.addLayer(layer);
+ style.addLayer(layer);
// Layer reference is now stale, get new reference
- layer = mapboxMap.getLayerAs("my-layer");
+ layer = style.getLayerAs("my-layer");
}
}
});
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/GeoJsonSourceTests.java b/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/GeoJsonSourceTests.java
index 5d10cfa38a..b8d85ae6c8 100644
--- a/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/GeoJsonSourceTests.java
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/GeoJsonSourceTests.java
@@ -54,8 +54,8 @@ public class GeoJsonSourceTests extends BaseActivityTest {
} catch (IOException exception) {
Timber.e(exception);
}
- mapboxMap.addSource(source);
- mapboxMap.addLayer(new CircleLayer("layer", source.getId()));
+ style.addSource(source);
+ style.addLayer(new CircleLayer("layer", source.getId()));
}
});
}
@@ -68,9 +68,9 @@ public class GeoJsonSourceTests extends BaseActivityTest {
@Override
public void perform(UiController uiController, View view) {
GeoJsonSource source = new GeoJsonSource("source", Point.fromCoordinates(new double[] {0d, 0d}));
- mapboxMap.addSource(source);
+ style.addSource(source);
- mapboxMap.addLayer(new CircleLayer("layer", source.getId()));
+ style.addLayer(new CircleLayer("layer", source.getId()));
}
});
@@ -90,9 +90,9 @@ public class GeoJsonSourceTests extends BaseActivityTest {
} catch (IOException exception) {
Timber.e(exception);
}
- mapboxMap.addSource(source);
+ style.addSource(source);
- mapboxMap.addLayer(new CircleLayer("layer", source.getId()));
+ style.addLayer(new CircleLayer("layer", source.getId()));
}
});
@@ -140,9 +140,9 @@ public class GeoJsonSourceTests extends BaseActivityTest {
@Override
public void perform(UiController uiController, View view) {
GeoJsonSource source = new GeoJsonSource("source");
- mapboxMap.addSource(source);
+ style.addSource(source);
Layer layer = new CircleLayer("layer", source.getId());
- mapboxMap.addLayer(layer);
+ style.addLayer(layer);
try {
source.setGeoJson(Feature.fromJson(ResourceUtils.readRawResource(rule.getActivity(), resource)));
@@ -150,8 +150,8 @@ public class GeoJsonSourceTests extends BaseActivityTest {
Timber.e(exception);
}
- mapboxMap.removeLayer(layer);
- mapboxMap.removeSource(source);
+ style.removeLayer(layer);
+ style.removeSource(source);
}
});
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/ImageTest.java b/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/ImageTest.java
index c049fabb52..87daaeb990 100644
--- a/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/ImageTest.java
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/ImageTest.java
@@ -37,13 +37,13 @@ public class ImageTest extends BaseActivityTest {
assertTrue(drawable instanceof BitmapDrawable);
Bitmap bitmapSet = ((BitmapDrawable) drawable).getBitmap();
- mapboxMap.addImage(IMAGE_ID, bitmapSet);
+ style.addImage(IMAGE_ID, bitmapSet);
- Bitmap bitmapGet = mapboxMap.getImage(IMAGE_ID);
+ Bitmap bitmapGet = style.getImage(IMAGE_ID);
assertTrue(bitmapGet.sameAs(bitmapSet));
- mapboxMap.removeImage(IMAGE_ID);
- assertNull(mapboxMap.getImage(IMAGE_ID));
+ style.removeImage(IMAGE_ID);
+ assertNull(style.getImage(IMAGE_ID));
});
}
}
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/LightTest.java b/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/LightTest.java
index 88da6e45be..7013f9c8f0 100644
--- a/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/LightTest.java
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/LightTest.java
@@ -173,7 +173,7 @@ public class LightTest extends BaseActivityTest {
@Override
public void perform(UiController uiController, View view) {
- light = mapboxMap.getLight();
+ light = style.getLight();
FillExtrusionLayer fillExtrusionLayer = new FillExtrusionLayer("3d-buildings", "composite");
fillExtrusionLayer.setSourceLayer("building");
fillExtrusionLayer.setFilter(eq("extrude", "true"));
@@ -184,7 +184,7 @@ public class LightTest extends BaseActivityTest {
fillExtrusionBase(Function.property("min_height", new IdentityStops<Float>())),
fillExtrusionOpacity(0.6f)
);
- mapboxMap.addLayer(fillExtrusionLayer);
+ style.addLayer(fillExtrusionLayer);
}
});
}
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/LineLayerTest.java b/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/LineLayerTest.java
index 8123d24be8..94879b1bd5 100644
--- a/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/LineLayerTest.java
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/LineLayerTest.java
@@ -9,6 +9,7 @@ import android.support.test.runner.AndroidJUnit4;
import timber.log.Timber;
import com.mapbox.mapboxsdk.maps.MapboxMap;
+import com.mapbox.mapboxsdk.maps.Style;
import com.mapbox.mapboxsdk.style.functions.CompositeFunction;
import com.mapbox.mapboxsdk.style.functions.CameraFunction;
import com.mapbox.mapboxsdk.style.functions.SourceFunction;
@@ -54,13 +55,14 @@ public class LineLayerTest extends BaseActivityTest {
invoke(mapboxMap, new MapboxMapAction.OnInvokeActionListener() {
@Override
public void onInvokeAction(UiController uiController, MapboxMap mapboxMap) {
- if ((layer = mapboxMap.getLayerAs("my-layer")) == null) {
+ Style style = mapboxMap.getStyle();
+ if ((layer = style.getLayerAs("my-layer")) == null) {
Timber.i("Adding layer");
layer = new LineLayer("my-layer", "composite");
layer.setSourceLayer("composite");
- mapboxMap.addLayer(layer);
+ style.addLayer(layer);
// Layer reference is now stale, get new reference
- layer = mapboxMap.getLayerAs("my-layer");
+ layer = style.getLayerAs("my-layer");
}
}
});
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/RasterLayerTest.java b/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/RasterLayerTest.java
index df560e2632..2bd3e7f48b 100644
--- a/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/RasterLayerTest.java
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/RasterLayerTest.java
@@ -54,13 +54,13 @@ public class RasterLayerTest extends BaseActivityTest {
invoke(mapboxMap, new MapboxMapAction.OnInvokeActionListener() {
@Override
public void onInvokeAction(UiController uiController, MapboxMap mapboxMap) {
- if ((layer = mapboxMap.getLayerAs("my-layer")) == null) {
+ if ((layer = style.getLayerAs("my-layer")) == null) {
Timber.i("Adding layer");
layer = new RasterLayer("my-layer", "composite");
layer.setSourceLayer("composite");
- mapboxMap.addLayer(layer);
+ style.addLayer(layer);
// Layer reference is now stale, get new reference
- layer = mapboxMap.getLayerAs("my-layer");
+ layer = style.getLayerAs("my-layer");
}
}
});
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/RuntimeStyleTests.java b/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/RuntimeStyleTests.java
index fc526176d4..aa5adc59bd 100644
--- a/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/RuntimeStyleTests.java
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/RuntimeStyleTests.java
@@ -65,7 +65,7 @@ public class RuntimeStyleTests extends BaseActivityTest {
@Override
public void perform(UiController uiController, View view) {
- List<Layer> layers = mapboxMap.getLayers();
+ List<Layer> layers = style.getLayers();
assertNotNull(layers);
assertTrue(layers.size() > 0);
for (Layer layer : layers) {
@@ -88,12 +88,12 @@ public class RuntimeStyleTests extends BaseActivityTest {
onView(withId(R.id.mapView)).perform(new BaseViewAction() {
@Override
public void perform(UiController uiController, View view) {
- List<Layer> layers = mapboxMap.getLayers();
- Source source = mapboxMap.getSources().get(0);
+ List<Layer> layers = style.getLayers();
+ Source source = style.getSources().get(0);
// Test inserting with invalid above-id
try {
- mapboxMap.addLayerAbove(new CircleLayer("invalid-id-layer-test", source.getId()), "no-such-layer-here-man");
+ style.addLayerAbove(new CircleLayer("invalid-id-layer-test", source.getId()), "no-such-layer-here-man");
fail("Should have thrown exception");
} catch (CannotAddLayerException ex) {
// Yeah
@@ -102,14 +102,14 @@ public class RuntimeStyleTests extends BaseActivityTest {
// Insert as last
CircleLayer last = new CircleLayer("this is the last one", source.getId());
- mapboxMap.addLayerAbove(last, layers.get(layers.size() - 1).getId());
- layers = mapboxMap.getLayers();
+ style.addLayerAbove(last, layers.get(layers.size() - 1).getId());
+ layers = style.getLayers();
assertEquals(last.getId(), layers.get(layers.size() - 1).getId());
// Insert
CircleLayer second = new CircleLayer("this is the second one", source.getId());
- mapboxMap.addLayerAbove(second, layers.get(0).getId());
- layers = mapboxMap.getLayers();
+ style.addLayerAbove(second, layers.get(0).getId());
+ layers = style.getLayers();
assertEquals(second.getId(), layers.get(1).getId());
}
});
@@ -123,15 +123,15 @@ public class RuntimeStyleTests extends BaseActivityTest {
@Override
public void perform(UiController uiController, View view) {
// Remove by index
- Layer firstLayer = mapboxMap.getLayers().get(0);
- Layer removed = mapboxMap.removeLayerAt(0);
+ Layer firstLayer = style.getLayers().get(0);
+ Layer removed = style.removeLayerAt(0);
assertNotNull(removed);
assertNotNull(removed.getId());
assertEquals(firstLayer.getId(), removed.getId());
// Test remove by index bounds checks
Timber.i("Remove layer at index > size");
- assertNull(mapboxMap.removeLayerAt(Integer.MAX_VALUE));
+ assertNull(style.removeLayerAt(Integer.MAX_VALUE));
}
});
}
@@ -141,12 +141,12 @@ public class RuntimeStyleTests extends BaseActivityTest {
onView(withId(R.id.mapView)).perform(new BaseViewAction() {
@Override
public void perform(UiController uiController, View view) {
- List<Layer> layers = mapboxMap.getLayers();
- Source source = mapboxMap.getSources().get(0);
+ List<Layer> layers = style.getLayers();
+ Source source = style.getSources().get(0);
// Test inserting out of range
try {
- mapboxMap.addLayerAt(new CircleLayer("invalid-id-layer-test", source.getId()), layers.size());
+ style.addLayerAt(new CircleLayer("invalid-id-layer-test", source.getId()), layers.size());
fail("Should have thrown exception");
} catch (CannotAddLayerException ex) {
// Yeah
@@ -155,14 +155,14 @@ public class RuntimeStyleTests extends BaseActivityTest {
// Insert at current last position
CircleLayer last = new CircleLayer("this is the last one", source.getId());
- mapboxMap.addLayerAt(last, layers.size() - 1);
- layers = mapboxMap.getLayers();
+ style.addLayerAt(last, layers.size() - 1);
+ layers = style.getLayers();
assertEquals(last.getId(), layers.get(layers.size() - 2).getId());
// Insert at start
CircleLayer second = new CircleLayer("this is the first one", source.getId());
- mapboxMap.addLayerAt(second, 0);
- layers = mapboxMap.getLayers();
+ style.addLayerAt(second, 0);
+ layers = style.getLayers();
assertEquals(second.getId(), layers.get(0).getId());
}
});
@@ -176,7 +176,7 @@ public class RuntimeStyleTests extends BaseActivityTest {
@Override
public void perform(UiController uiController, View view) {
- List<Source> sources = mapboxMap.getSources();
+ List<Source> sources = style.getSources();
assertNotNull(sources);
assertTrue(sources.size() > 0);
for (Source source : sources) {
@@ -191,34 +191,34 @@ public class RuntimeStyleTests extends BaseActivityTest {
public void testAddRemoveSource() {
validateTestSetup();
invoke(mapboxMap, (uiController, mapboxMap) -> {
- mapboxMap.addSource(new VectorSource("my-source", "mapbox://mapbox.mapbox-terrain-v2"));
- mapboxMap.removeSource("my-source");
+ style.addSource(new VectorSource("my-source", "mapbox://mapbox.mapbox-terrain-v2"));
+ style.removeSource("my-source");
// Add initial source
- mapboxMap.addSource(new VectorSource("my-source", "mapbox://mapbox.mapbox-terrain-v2"));
+ style.addSource(new VectorSource("my-source", "mapbox://mapbox.mapbox-terrain-v2"));
// Remove
- Source mySource = mapboxMap.removeSource("my-source");
+ Source mySource = style.removeSource("my-source");
assertNotNull(mySource);
- assertNull(mapboxMap.getLayer("my-source"));
+ assertNull(style.getLayer("my-source"));
// Add
Source source = new VectorSource("my-source", "mapbox://mapbox.mapbox-terrain-v2");
- mapboxMap.addSource(source);
+ style.addSource(source);
// Remove, preserving the reference
- mapboxMap.removeSource(source);
+ style.removeSource(source);
// Re-add the reference...
- mapboxMap.addSource(source);
+ style.addSource(source);
// Ensure it's there
- Assert.assertNotNull(mapboxMap.getSource(source.getId()));
+ Assert.assertNotNull(style.getSource(source.getId()));
// Test adding a duplicate source
try {
Source source2 = new VectorSource("my-source", "mapbox://mapbox.mapbox-terrain-v2");
- mapboxMap.addSource(source2);
+ style.addSource(source2);
fail("Should not have been allowed to add a source with a duplicate id");
} catch (CannotAddSourceException cannotAddSourceException) {
// OK
@@ -232,7 +232,7 @@ public class RuntimeStyleTests extends BaseActivityTest {
validateTestSetup();
invoke(mapboxMap, (uiController, mapboxMap) -> {
VectorSource source = new VectorSource("my-source", "mapbox://mapbox.mapbox-terrain-v2");
- mapboxMap.addSource(source);
+ style.addSource(source);
assertEquals("mapbox://mapbox.mapbox-terrain-v2", source.getUrl());
});
}
@@ -242,7 +242,7 @@ public class RuntimeStyleTests extends BaseActivityTest {
validateTestSetup();
invoke(mapboxMap, (uiController, mapboxMap) -> {
RasterSource source = new RasterSource("my-source", "mapbox://mapbox.mapbox-terrain-v2");
- mapboxMap.addSource(source);
+ style.addSource(source);
assertEquals("mapbox://mapbox.mapbox-terrain-v2", source.getUrl());
});
}
@@ -252,7 +252,7 @@ public class RuntimeStyleTests extends BaseActivityTest {
validateTestSetup();
invoke(mapboxMap, (uiController, mapboxMap) -> {
GeoJsonSource source = new GeoJsonSource("my-source");
- mapboxMap.addSource(source);
+ style.addSource(source);
assertNull(source.getUrl());
try {
source.setUrl(new URL("http://mapbox.com/my-file.json"));
@@ -271,10 +271,10 @@ public class RuntimeStyleTests extends BaseActivityTest {
@Override
public void perform(UiController uiController, View view) {
- mapboxMap.addSource(new VectorSource("my-source", "mapbox://mapbox.mapbox-terrain-v2"));
- mapboxMap.addLayer(new LineLayer("my-layer", "my-source"));
- mapboxMap.removeSource("my-source");
- assertNotNull(mapboxMap.getSource("my-source"));
+ style.addSource(new VectorSource("my-source", "mapbox://mapbox.mapbox-terrain-v2"));
+ style.addLayer(new LineLayer("my-layer", "my-source"));
+ style.removeSource("my-source");
+ assertNotNull(style.getSource("my-source"));
}
});
@@ -305,37 +305,37 @@ public class RuntimeStyleTests extends BaseActivityTest {
@Override
public void perform(UiController uiController, View view) {
// Get initial
- assertNotNull(mapboxMap.getLayer("building"));
+ assertNotNull(style.getLayer("building"));
// Remove
- Layer building = mapboxMap.removeLayer("building");
+ Layer building = style.removeLayer("building");
assertNotNull(building);
- assertNull(mapboxMap.getLayer("building"));
+ assertNull(style.getLayer("building"));
// Add
FillLayer layer = new FillLayer("building", "composite");
layer.setSourceLayer("building");
- mapboxMap.addLayer(layer);
- assertNotNull(mapboxMap.getLayer("building"));
+ style.addLayer(layer);
+ assertNotNull(style.getLayer("building"));
// Assure the reference still works
layer.setProperties(PropertyFactory.visibility(Property.VISIBLE));
// Remove, preserving the reference
- mapboxMap.removeLayer(layer);
+ style.removeLayer(layer);
// Property setters should still work
layer.setProperties(PropertyFactory.fillColor(Color.RED));
// Re-add the reference...
- mapboxMap.addLayer(layer);
+ style.addLayer(layer);
// Ensure it's there
- Assert.assertNotNull(mapboxMap.getLayer(layer.getId()));
+ Assert.assertNotNull(style.getLayer(layer.getId()));
// Test adding a duplicate layer
try {
- mapboxMap.addLayer(new FillLayer("building", "composite"));
+ style.addLayer(new FillLayer("building", "composite"));
fail("Should not have been allowed to add a layer with a duplicate id");
} catch (CannotAddLayerException cannotAddLayerException) {
// OK
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/SymbolLayerTest.java b/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/SymbolLayerTest.java
index 781307862d..39319e599c 100644
--- a/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/SymbolLayerTest.java
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/SymbolLayerTest.java
@@ -54,13 +54,13 @@ public class SymbolLayerTest extends BaseActivityTest {
invoke(mapboxMap, new MapboxMapAction.OnInvokeActionListener() {
@Override
public void onInvokeAction(UiController uiController, MapboxMap mapboxMap) {
- if ((layer = mapboxMap.getLayerAs("my-layer")) == null) {
+ if ((layer = style.getLayerAs("my-layer")) == null) {
Timber.i("Adding layer");
layer = new SymbolLayer("my-layer", "composite");
layer.setSourceLayer("composite");
- mapboxMap.addLayer(layer);
+ style.addLayer(layer);
// Layer reference is now stale, get new reference
- layer = mapboxMap.getLayerAs("my-layer");
+ layer = style.getLayerAs("my-layer");
}
}
});
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/annotation/PolygonActivity.java b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/annotation/PolygonActivity.java
index 93f2e9c98f..f8206ce155 100644
--- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/annotation/PolygonActivity.java
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/annotation/PolygonActivity.java
@@ -10,12 +10,12 @@ import android.widget.Toast;
import com.mapbox.mapboxsdk.annotations.Polygon;
import com.mapbox.mapboxsdk.annotations.PolygonOptions;
import com.mapbox.mapboxsdk.camera.CameraPosition;
-import com.mapbox.mapboxsdk.constants.Style;
import com.mapbox.mapboxsdk.geometry.LatLng;
import com.mapbox.mapboxsdk.maps.MapView;
import com.mapbox.mapboxsdk.maps.MapboxMap;
import com.mapbox.mapboxsdk.maps.MapboxMapOptions;
import com.mapbox.mapboxsdk.maps.OnMapReadyCallback;
+import com.mapbox.mapboxsdk.maps.Style;
import com.mapbox.mapboxsdk.testapp.R;
import java.util.ArrayList;
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/camera/ManualZoomActivity.java b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/camera/ManualZoomActivity.java
index 716d0463a5..d622db9084 100644
--- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/camera/ManualZoomActivity.java
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/camera/ManualZoomActivity.java
@@ -8,9 +8,9 @@ import android.view.MenuItem;
import android.view.View;
import com.mapbox.mapboxsdk.camera.CameraUpdateFactory;
-import com.mapbox.mapboxsdk.constants.Style;
import com.mapbox.mapboxsdk.maps.MapView;
import com.mapbox.mapboxsdk.maps.MapboxMap;
+import com.mapbox.mapboxsdk.maps.Style;
import com.mapbox.mapboxsdk.maps.UiSettings;
import com.mapbox.mapboxsdk.testapp.R;
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/camera/MaxMinZoomActivity.java b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/camera/MaxMinZoomActivity.java
index 277eadb1b5..1ad1281bf2 100644
--- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/camera/MaxMinZoomActivity.java
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/camera/MaxMinZoomActivity.java
@@ -3,10 +3,10 @@ package com.mapbox.mapboxsdk.testapp.activity.camera;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
-import com.mapbox.mapboxsdk.constants.Style;
import com.mapbox.mapboxsdk.maps.MapView;
import com.mapbox.mapboxsdk.maps.MapboxMap;
import com.mapbox.mapboxsdk.maps.OnMapReadyCallback;
+import com.mapbox.mapboxsdk.maps.Style;
import com.mapbox.mapboxsdk.testapp.R;
import timber.log.Timber;
@@ -35,7 +35,10 @@ public class MaxMinZoomActivity extends AppCompatActivity implements OnMapReadyC
mapboxMap = map;
mapboxMap.setMinZoomPreference(3);
mapboxMap.setMaxZoomPreference(5);
- mapboxMap.setOnMapClickListener(point -> map.setStyle(Style.OUTDOORS, style -> Timber.d("Style Loaded %s", style)));
+ mapboxMap.setOnMapClickListener(
+ point -> map.setStyle(Style.fromUrl(Style.OUTDOORS),
+ style -> Timber.d("Style Loaded %s", style.getUrl()))
+ );
}
@Override
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/customlayer/CustomLayerActivity.java b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/customlayer/CustomLayerActivity.java
index 4cad7593ef..ae213a1732 100644
--- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/customlayer/CustomLayerActivity.java
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/customlayer/CustomLayerActivity.java
@@ -11,6 +11,7 @@ import com.mapbox.mapboxsdk.camera.CameraUpdateFactory;
import com.mapbox.mapboxsdk.geometry.LatLng;
import com.mapbox.mapboxsdk.maps.MapView;
import com.mapbox.mapboxsdk.maps.MapboxMap;
+import com.mapbox.mapboxsdk.maps.Style;
import com.mapbox.mapboxsdk.style.layers.CustomLayer;
import com.mapbox.mapboxsdk.testapp.R;
import com.mapbox.mapboxsdk.testapp.model.customlayer.ExampleCustomLayer;
@@ -52,8 +53,9 @@ public class CustomLayerActivity extends AppCompatActivity {
}
private void swapCustomLayer() {
+ Style style = mapboxMap.getStyle();
if (customLayer != null) {
- mapboxMap.removeLayer(customLayer);
+ style.removeLayer(customLayer);
customLayer = null;
fab.setImageResource(R.drawable.ic_layers);
} else {
@@ -63,7 +65,7 @@ public class CustomLayerActivity extends AppCompatActivity {
ExampleCustomLayer.RenderFunction,
ExampleCustomLayer.ContextLostFunction, // Optional
ExampleCustomLayer.DeinitializeFunction);
- mapboxMap.addLayerBelow(customLayer, "building");
+ style.addLayerBelow(customLayer, "building");
fab.setImageResource(R.drawable.ic_layers_clear);
}
}
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/feature/QueryRenderedFeaturesBoxHighlightActivity.java b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/feature/QueryRenderedFeaturesBoxHighlightActivity.java
index 8c9d056764..839b34ff70 100644
--- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/feature/QueryRenderedFeaturesBoxHighlightActivity.java
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/feature/QueryRenderedFeaturesBoxHighlightActivity.java
@@ -45,8 +45,8 @@ public class QueryRenderedFeaturesBoxHighlightActivity extends AppCompatActivity
// Add layer / source
final GeoJsonSource source = new GeoJsonSource("highlighted-shapes-source");
- mapboxMap.addSource(source);
- mapboxMap.addLayer(
+ mapboxMap.getStyle().addSource(source);
+ mapboxMap.getStyle().addLayer(
new FillLayer("highlighted-shapes-layer", "highlighted-shapes-source")
.withProperties(fillColor(Color.RED))
);
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/feature/QueryRenderedFeaturesBoxSymbolCountActivity.java b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/feature/QueryRenderedFeaturesBoxSymbolCountActivity.java
index 9bad5f3e62..67af9f66ed 100644
--- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/feature/QueryRenderedFeaturesBoxSymbolCountActivity.java
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/feature/QueryRenderedFeaturesBoxSymbolCountActivity.java
@@ -9,6 +9,7 @@ import android.widget.Toast;
import com.mapbox.mapboxsdk.maps.MapView;
import com.mapbox.mapboxsdk.maps.MapboxMap;
+import com.mapbox.mapboxsdk.maps.Style;
import com.mapbox.mapboxsdk.style.layers.SymbolLayer;
import com.mapbox.mapboxsdk.style.sources.GeoJsonSource;
import com.mapbox.mapboxsdk.testapp.R;
@@ -44,21 +45,22 @@ public class QueryRenderedFeaturesBoxSymbolCountActivity extends AppCompatActivi
mapView.onCreate(savedInstanceState);
mapView.getMapAsync(mapboxMap -> {
QueryRenderedFeaturesBoxSymbolCountActivity.this.mapboxMap = mapboxMap;
+ Style style = mapboxMap.getStyle();
// Add a symbol layer (also works with annotations)
try {
- mapboxMap.addSource(new GeoJsonSource("symbols-source", ResourceUtils.readRawResource(
+ style.addSource(new GeoJsonSource("symbols-source", ResourceUtils.readRawResource(
QueryRenderedFeaturesBoxSymbolCountActivity.this, R.raw.test_points_utrecht)));
} catch (IOException ioException) {
Timber.e(ioException, "Could not load geojson");
return;
}
- mapboxMap.addImage(
+ style.addImage(
"test-icon",
BitmapFactory.decodeResource(getResources(),
R.drawable.mapbox_marker_icon_default)
);
- mapboxMap.addLayer(new SymbolLayer("symbols-layer", "symbols-source").withProperties(iconImage("test-icon")));
+ style.addLayer(new SymbolLayer("symbols-layer", "symbols-source").withProperties(iconImage("test-icon")));
selectionBox.setOnClickListener(view -> {
// Query
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/feature/QuerySourceFeaturesActivity.java b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/feature/QuerySourceFeaturesActivity.java
index c8bef26856..5d90f9bc68 100644
--- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/feature/QuerySourceFeaturesActivity.java
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/feature/QuerySourceFeaturesActivity.java
@@ -44,9 +44,12 @@ public class QuerySourceFeaturesActivity extends AppCompatActivity {
FeatureCollection.fromFeatures(new Feature[] {
Feature.fromGeometry(Point.fromCoordinates(new double[] {0, 0}), properties)
}));
- mapboxMap.addSource(source);
+ mapboxMap.getStyle().addSource(source);
- mapboxMap.addLayer(new CircleLayer("test-layer", source.getId()).withFilter(Filter.neq("key1", "value1")));
+ mapboxMap.getStyle().addLayer(
+ new CircleLayer("test-layer", source.getId())
+ .withFilter(Filter.neq("key1", "value1"))
+ );
// Add a click listener
mapboxMap.setOnMapClickListener(point -> {
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/fragment/MapFragmentActivity.java b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/fragment/MapFragmentActivity.java
index 930626078d..6174f2f2f5 100644
--- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/fragment/MapFragmentActivity.java
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/fragment/MapFragmentActivity.java
@@ -6,12 +6,12 @@ import android.support.v7.app.AppCompatActivity;
import com.mapbox.mapboxsdk.camera.CameraPosition;
import com.mapbox.mapboxsdk.camera.CameraUpdateFactory;
-import com.mapbox.mapboxsdk.constants.Style;
import com.mapbox.mapboxsdk.geometry.LatLng;
import com.mapbox.mapboxsdk.maps.MapFragment;
import com.mapbox.mapboxsdk.maps.MapboxMap;
import com.mapbox.mapboxsdk.maps.MapboxMapOptions;
import com.mapbox.mapboxsdk.maps.OnMapReadyCallback;
+import com.mapbox.mapboxsdk.maps.Style;
import com.mapbox.mapboxsdk.testapp.R;
/**
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/fragment/SupportMapFragmentActivity.java b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/fragment/SupportMapFragmentActivity.java
index 4f828060ee..ab31ebfdb3 100644
--- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/fragment/SupportMapFragmentActivity.java
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/fragment/SupportMapFragmentActivity.java
@@ -6,11 +6,11 @@ import android.support.v7.app.AppCompatActivity;
import com.mapbox.mapboxsdk.camera.CameraPosition;
import com.mapbox.mapboxsdk.camera.CameraUpdateFactory;
-import com.mapbox.mapboxsdk.constants.Style;
import com.mapbox.mapboxsdk.geometry.LatLng;
import com.mapbox.mapboxsdk.maps.MapboxMap;
import com.mapbox.mapboxsdk.maps.MapboxMapOptions;
import com.mapbox.mapboxsdk.maps.OnMapReadyCallback;
+import com.mapbox.mapboxsdk.maps.Style;
import com.mapbox.mapboxsdk.maps.SupportMapFragment;
import com.mapbox.mapboxsdk.testapp.R;
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/fragment/ViewPagerActivity.java b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/fragment/ViewPagerActivity.java
index 26cf777ba9..fa167e9442 100644
--- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/fragment/ViewPagerActivity.java
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/fragment/ViewPagerActivity.java
@@ -8,9 +8,9 @@ import android.support.v4.view.ViewPager;
import android.support.v7.app.AppCompatActivity;
import com.mapbox.mapboxsdk.camera.CameraPosition;
-import com.mapbox.mapboxsdk.constants.Style;
import com.mapbox.mapboxsdk.geometry.LatLng;
import com.mapbox.mapboxsdk.maps.MapboxMapOptions;
+import com.mapbox.mapboxsdk.maps.Style;
import com.mapbox.mapboxsdk.maps.SupportMapFragment;
import com.mapbox.mapboxsdk.testapp.R;
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/imagegenerator/SnapshotActivity.java b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/imagegenerator/SnapshotActivity.java
index 62d3ad34df..71378b17e5 100644
--- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/imagegenerator/SnapshotActivity.java
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/imagegenerator/SnapshotActivity.java
@@ -8,10 +8,10 @@ import android.view.View;
import android.widget.ImageView;
import android.widget.Toast;
-import com.mapbox.mapboxsdk.constants.Style;
import com.mapbox.mapboxsdk.maps.MapView;
import com.mapbox.mapboxsdk.maps.MapboxMap;
import com.mapbox.mapboxsdk.maps.OnMapReadyCallback;
+import com.mapbox.mapboxsdk.maps.Style;
import com.mapbox.mapboxsdk.testapp.R;
import java.util.Locale;
@@ -37,7 +37,7 @@ public class SnapshotActivity extends AppCompatActivity implements OnMapReadyCal
@Override
public void onMapReady(MapboxMap map) {
mapboxMap = map;
- mapboxMap.setStyleUrl(Style.OUTDOORS);
+ mapboxMap.setStyle(Style.fromUrl(Style.OUTDOORS));
FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
if (fab != null) {
fab.setColorFilter(ContextCompat.getColor(SnapshotActivity.this, R.color.primary));
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/maplayout/BottomSheetActivity.java b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/maplayout/BottomSheetActivity.java
index 3b58843e13..099f165b87 100644
--- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/maplayout/BottomSheetActivity.java
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/maplayout/BottomSheetActivity.java
@@ -18,12 +18,12 @@ import android.view.ViewGroup;
import android.widget.Toast;
import com.mapbox.mapboxsdk.camera.CameraUpdateFactory;
-import com.mapbox.mapboxsdk.constants.Style;
import com.mapbox.mapboxsdk.geometry.LatLng;
import com.mapbox.mapboxsdk.maps.MapView;
import com.mapbox.mapboxsdk.maps.MapboxMap;
import com.mapbox.mapboxsdk.maps.MapboxMapOptions;
import com.mapbox.mapboxsdk.maps.OnMapReadyCallback;
+import com.mapbox.mapboxsdk.maps.Style;
import com.mapbox.mapboxsdk.testapp.R;
import com.mapbox.mapboxsdk.utils.MapFragmentUtils;
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/maplayout/DebugModeActivity.java b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/maplayout/DebugModeActivity.java
index 44d27a41ab..3a4aa7c4d3 100644
--- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/maplayout/DebugModeActivity.java
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/maplayout/DebugModeActivity.java
@@ -15,11 +15,11 @@ import android.widget.BaseAdapter;
import android.widget.ListView;
import android.widget.TextView;
-import com.mapbox.mapboxsdk.constants.Style;
import com.mapbox.mapboxsdk.http.HttpRequestUtil;
import com.mapbox.mapboxsdk.maps.MapView;
import com.mapbox.mapboxsdk.maps.MapboxMap;
import com.mapbox.mapboxsdk.maps.OnMapReadyCallback;
+import com.mapbox.mapboxsdk.maps.Style;
import com.mapbox.mapboxsdk.style.layers.Layer;
import com.mapbox.mapboxsdk.style.layers.Property;
import com.mapbox.mapboxsdk.testapp.R;
@@ -84,8 +84,8 @@ public class DebugModeActivity extends AppCompatActivity implements OnMapReadyCa
mapView = (MapView) findViewById(R.id.mapView);
mapView.addOnMapChangedListener(change -> {
if (change == MapView.DID_FINISH_LOADING_STYLE && mapboxMap != null) {
- Timber.v("New style loaded with JSON: %s", mapboxMap.getStyleJson());
- setupNavigationView(mapboxMap.getLayers());
+ Timber.v("New style loaded with JSON: %s", mapboxMap.getStyle().getJson());
+ setupNavigationView(mapboxMap.getStyle().getLayers());
}
});
@@ -100,7 +100,7 @@ public class DebugModeActivity extends AppCompatActivity implements OnMapReadyCa
mapboxMap = map;
mapboxMap.getUiSettings().setZoomControlsEnabled(true);
- setupNavigationView(mapboxMap.getLayers());
+ setupNavigationView(mapboxMap.getStyle().getLayers());
setupZoomView();
setFpsView();
}
@@ -162,7 +162,8 @@ public class DebugModeActivity extends AppCompatActivity implements OnMapReadyCa
if (currentStyleIndex == STYLES.length) {
currentStyleIndex = 0;
}
- mapboxMap.setStyleUrl(STYLES[currentStyleIndex], style -> Timber.d("Style loaded %s", style));
+ Style style = Style.fromUrl(STYLES[currentStyleIndex]);
+ mapboxMap.setStyle(style, style1 -> Timber.d("Style loaded %s", style1.getUrl()));
}
});
}
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/maplayout/DoubleMapActivity.java b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/maplayout/DoubleMapActivity.java
index 75b2378ef7..0b3d7e30bc 100644
--- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/maplayout/DoubleMapActivity.java
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/maplayout/DoubleMapActivity.java
@@ -12,9 +12,9 @@ import android.view.ViewGroup;
import com.mapbox.mapboxsdk.camera.CameraUpdateFactory;
import com.mapbox.mapboxsdk.constants.MyLocationTracking;
-import com.mapbox.mapboxsdk.constants.Style;
import com.mapbox.mapboxsdk.maps.MapView;
import com.mapbox.mapboxsdk.maps.MapboxMap;
+import com.mapbox.mapboxsdk.maps.Style;
import com.mapbox.mapboxsdk.maps.TrackingSettings;
import com.mapbox.mapboxsdk.maps.UiSettings;
import com.mapbox.mapboxsdk.testapp.R;
@@ -48,7 +48,7 @@ public class DoubleMapActivity extends AppCompatActivity {
// we need to set mapboxmap on the parent activity,
// for auto-generated ui tests
mapboxMap = map;
- mapboxMap.setStyleUrl(Style.DARK);
+ mapboxMap.setStyle(Style.fromUrl(Style.DARK));
mapboxMap.moveCamera(CameraUpdateFactory.zoomTo(18));
try {
mapboxMap.setMyLocationEnabled(true);
@@ -97,7 +97,7 @@ public class DoubleMapActivity extends AppCompatActivity {
mapViewMini = (MapView) view.findViewById(R.id.mini_map);
mapViewMini.onCreate(savedInstanceState);
mapViewMini.getMapAsync(mapboxMap -> {
- mapboxMap.setStyleUrl(Style.LIGHT);
+ mapboxMap.setStyle(Style.fromUrl(Style.LIGHT));
mapboxMap.moveCamera(CameraUpdateFactory.zoomTo(4));
UiSettings uiSettings = mapboxMap.getUiSettings();
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/offline/OfflineActivity.java b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/offline/OfflineActivity.java
index 79e76168d5..b9e6bb7ea0 100644
--- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/offline/OfflineActivity.java
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/offline/OfflineActivity.java
@@ -11,11 +11,11 @@ import android.widget.Toast;
import com.mapbox.mapboxsdk.Mapbox;
import com.mapbox.mapboxsdk.camera.CameraPosition;
import com.mapbox.mapboxsdk.camera.CameraUpdateFactory;
-import com.mapbox.mapboxsdk.constants.Style;
import com.mapbox.mapboxsdk.geometry.LatLng;
import com.mapbox.mapboxsdk.geometry.LatLngBounds;
import com.mapbox.mapboxsdk.maps.MapView;
import com.mapbox.mapboxsdk.maps.MapboxMap;
+import com.mapbox.mapboxsdk.maps.Style;
import com.mapbox.mapboxsdk.offline.OfflineManager;
import com.mapbox.mapboxsdk.offline.OfflineRegion;
import com.mapbox.mapboxsdk.offline.OfflineRegionError;
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/snapshot/MapSnapshotterActivity.java b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/snapshot/MapSnapshotterActivity.java
index aadf021a89..62a4821cd5 100644
--- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/snapshot/MapSnapshotterActivity.java
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/snapshot/MapSnapshotterActivity.java
@@ -7,9 +7,9 @@ import android.widget.GridLayout;
import android.widget.ImageView;
import com.mapbox.mapboxsdk.camera.CameraPosition;
-import com.mapbox.mapboxsdk.constants.Style;
import com.mapbox.mapboxsdk.geometry.LatLng;
import com.mapbox.mapboxsdk.geometry.LatLngBounds;
+import com.mapbox.mapboxsdk.maps.Style;
import com.mapbox.mapboxsdk.snapshotter.MapSnapshotter;
import com.mapbox.mapboxsdk.testapp.R;
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/snapshot/MapSnapshotterMarkerActivity.java b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/snapshot/MapSnapshotterMarkerActivity.java
index b690f18b6a..4be5552778 100644
--- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/snapshot/MapSnapshotterMarkerActivity.java
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/snapshot/MapSnapshotterMarkerActivity.java
@@ -9,12 +9,14 @@ import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.view.ViewTreeObserver;
import android.widget.ImageView;
+
import com.mapbox.mapboxsdk.camera.CameraPosition;
-import com.mapbox.mapboxsdk.constants.Style;
import com.mapbox.mapboxsdk.geometry.LatLng;
+import com.mapbox.mapboxsdk.maps.Style;
import com.mapbox.mapboxsdk.snapshotter.MapSnapshot;
import com.mapbox.mapboxsdk.snapshotter.MapSnapshotter;
import com.mapbox.mapboxsdk.testapp.R;
+
import timber.log.Timber;
/**
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/snapshot/MapSnapshotterReuseActivity.java b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/snapshot/MapSnapshotterReuseActivity.java
index ef5913beb0..9226f23180 100644
--- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/snapshot/MapSnapshotterReuseActivity.java
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/snapshot/MapSnapshotterReuseActivity.java
@@ -6,9 +6,9 @@ import android.view.View;
import android.widget.ImageView;
import com.mapbox.mapboxsdk.camera.CameraPosition;
-import com.mapbox.mapboxsdk.constants.Style;
import com.mapbox.mapboxsdk.geometry.LatLng;
import com.mapbox.mapboxsdk.geometry.LatLngBounds;
+import com.mapbox.mapboxsdk.maps.Style;
import com.mapbox.mapboxsdk.snapshotter.MapSnapshot;
import com.mapbox.mapboxsdk.snapshotter.MapSnapshotter;
import com.mapbox.mapboxsdk.testapp.R;
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/AnimatedImageSourceActivity.java b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/AnimatedImageSourceActivity.java
index 1014af25db..a5c9d48378 100644
--- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/AnimatedImageSourceActivity.java
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/AnimatedImageSourceActivity.java
@@ -16,6 +16,7 @@ import com.mapbox.mapboxsdk.geometry.LatLngQuad;
import com.mapbox.mapboxsdk.maps.MapView;
import com.mapbox.mapboxsdk.maps.MapboxMap;
import com.mapbox.mapboxsdk.maps.OnMapReadyCallback;
+import com.mapbox.mapboxsdk.maps.Style;
import com.mapbox.mapboxsdk.style.layers.RasterLayer;
import com.mapbox.mapboxsdk.style.sources.ImageSource;
import com.mapbox.mapboxsdk.testapp.R;
@@ -52,17 +53,19 @@ public class AnimatedImageSourceActivity extends AppCompatActivity implements On
public void onMapReady(@NonNull final MapboxMap map) {
mapboxMap = map;
+ Style style = map.getStyle();
+
// add source
LatLngQuad quad = new LatLngQuad(
new LatLng(46.437, -80.425),
new LatLng(46.437, -71.516),
new LatLng(37.936, -71.516),
new LatLng(37.936, -80.425));
- mapboxMap.addSource(new ImageSource(ID_IMAGE_SOURCE, quad, R.drawable.southeast_radar_0));
+ style.addSource(new ImageSource(ID_IMAGE_SOURCE, quad, R.drawable.southeast_radar_0));
// add layer
RasterLayer layer = new RasterLayer(ID_IMAGE_LAYER, ID_IMAGE_SOURCE);
- mapboxMap.addLayer(layer);
+ style.addLayer(layer);
// loop refresh geojson
handler = new Handler();
@@ -137,7 +140,7 @@ public class AnimatedImageSourceActivity extends AppCompatActivity implements On
@Override
public void run() {
- ((ImageSource) mapboxMap.getSource(ID_IMAGE_SOURCE)).setImage(drawables[drawableIndex++]);
+ ((ImageSource) mapboxMap.getStyle().getSource(ID_IMAGE_SOURCE)).setImage(drawables[drawableIndex++]);
if (drawableIndex > 3) {
drawableIndex = 0;
}
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/BuildingFillExtrusionActivity.java b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/BuildingFillExtrusionActivity.java
index 609910892b..b48dea7407 100644
--- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/BuildingFillExtrusionActivity.java
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/BuildingFillExtrusionActivity.java
@@ -61,11 +61,11 @@ public class BuildingFillExtrusionActivity extends AppCompatActivity {
fillExtrusionBase(Function.property("min_height", new IdentityStops<Float>())),
fillExtrusionOpacity(0.9f)
);
- mapboxMap.addLayer(fillExtrusionLayer);
+ mapboxMap.getStyle().addLayer(fillExtrusionLayer);
}
private void setupLight() {
- light = mapboxMap.getLight();
+ light = mapboxMap.getStyle().getLight();
findViewById(R.id.fabLightPosition).setOnClickListener(v -> {
isInitPosition = !isInitPosition;
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/CircleLayerActivity.java b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/CircleLayerActivity.java
index 6aa8777777..6eeac7fd20 100644
--- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/CircleLayerActivity.java
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/CircleLayerActivity.java
@@ -9,10 +9,10 @@ import android.view.View;
import com.mapbox.mapboxsdk.camera.CameraPosition;
import com.mapbox.mapboxsdk.camera.CameraUpdateFactory;
-import com.mapbox.mapboxsdk.constants.Style;
import com.mapbox.mapboxsdk.geometry.LatLng;
import com.mapbox.mapboxsdk.maps.MapView;
import com.mapbox.mapboxsdk.maps.MapboxMap;
+import com.mapbox.mapboxsdk.maps.Style;
import com.mapbox.mapboxsdk.style.layers.CircleLayer;
import com.mapbox.mapboxsdk.style.layers.LineLayer;
import com.mapbox.mapboxsdk.style.sources.GeoJsonSource;
@@ -70,7 +70,7 @@ public class CircleLayerActivity extends AppCompatActivity implements View.OnCli
} catch (MalformedURLException exception) {
Timber.e(exception, "That's not an url... ");
}
- mapboxMap.addSource(source);
+ mapboxMap.getStyle().addSource(source);
}
private void addBusStopCircleLayer() {
@@ -79,7 +79,7 @@ public class CircleLayerActivity extends AppCompatActivity implements View.OnCli
circleColor(Color.parseColor("#FF9800")),
circleRadius(2.0f)
);
- mapboxMap.addLayer(layer);
+ mapboxMap.getStyle().addLayer(layer);
}
private void initFloatingActionButtons() {
@@ -122,7 +122,7 @@ public class CircleLayerActivity extends AppCompatActivity implements View.OnCli
private void addBusRouteSource() {
try {
- mapboxMap.addSource(new GeoJsonSource("bus_route",
+ mapboxMap.getStyle().addSource(new GeoJsonSource("bus_route",
new URL("https://gist.githubusercontent.com/tobrun/7fbc0fe7e9ffea509f7608cda2601d5d/raw/"
+ "a4b8cc289020f91fa2e1553524820054395e36f5/line.geojson")));
} catch (MalformedURLException malformedUrlException) {
@@ -132,7 +132,7 @@ public class CircleLayerActivity extends AppCompatActivity implements View.OnCli
private void addBusRouteLayer() {
LineLayer lineLayer = new LineLayer("route_layer", "bus_route");
- mapboxMap.addLayerBelow(lineLayer, "stops_layer");
+ mapboxMap.getStyle().addLayerBelow(lineLayer, "stops_layer");
mapboxMap.animateCamera(CameraUpdateFactory.newCameraPosition(
new CameraPosition.Builder()
.target(new LatLng(1.3896777, 103.9874997))
@@ -150,28 +150,30 @@ public class CircleLayerActivity extends AppCompatActivity implements View.OnCli
}
private void removeBusStop() {
- mapboxMap.removeLayer(layer);
- mapboxMap.removeSource(source);
+ com.mapbox.mapboxsdk.maps.Style style = mapboxMap.getStyle();
+ style.removeLayer(layer);
+ style.removeSource(source);
}
private void loadNewStyle() {
- mapboxMap.setStyleUrl(getNextStyle(), style -> {
+ mapboxMap.setStyle(getNextStyle(), style -> {
addBusStop();
isLoadingStyle = false;
});
}
private void addBusStop() {
- mapboxMap.addLayer(layer);
- mapboxMap.addSource(source);
+ com.mapbox.mapboxsdk.maps.Style style = mapboxMap.getStyle();
+ style.addLayer(layer);
+ style.addSource(source);
}
- private String getNextStyle() {
+ private Style getNextStyle() {
currentStyleIndex++;
if (currentStyleIndex == Data.STYLES.length) {
currentStyleIndex = 0;
}
- return Data.STYLES[currentStyleIndex];
+ return Style.fromUrl(Data.STYLES[currentStyleIndex]);
}
@Override
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/CustomSpriteActivity.java b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/CustomSpriteActivity.java
index 8d35e659d3..44e9324983 100644
--- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/CustomSpriteActivity.java
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/CustomSpriteActivity.java
@@ -11,6 +11,7 @@ import com.mapbox.mapboxsdk.camera.CameraUpdateFactory;
import com.mapbox.mapboxsdk.geometry.LatLng;
import com.mapbox.mapboxsdk.maps.MapView;
import com.mapbox.mapboxsdk.maps.MapboxMap;
+import com.mapbox.mapboxsdk.maps.Style;
import com.mapbox.mapboxsdk.style.layers.Layer;
import com.mapbox.mapboxsdk.style.layers.SymbolLayer;
import com.mapbox.mapboxsdk.style.sources.GeoJsonSource;
@@ -53,9 +54,11 @@ public class CustomSpriteActivity extends AppCompatActivity {
@Override
public void onClick(View view) {
if (point == null) {
+ Style style = map.getStyle();
+
Timber.i("First click -> Car");
// Add an icon to reference later
- mapboxMap.addImage(CUSTOM_ICON, BitmapFactory.decodeResource(getResources(), R.drawable.ic_car_top));
+ style.addImage(CUSTOM_ICON, BitmapFactory.decodeResource(getResources(), R.drawable.ic_car_top));
// Add a source with a geojson point
point = Point.fromCoordinates(Position.fromCoordinates(13.400972d, 52.519003d));
@@ -63,7 +66,7 @@ public class CustomSpriteActivity extends AppCompatActivity {
"point",
FeatureCollection.fromFeatures(new Feature[] {Feature.fromGeometry(point)})
);
- mapboxMap.addSource(source);
+ style.addSource(source);
// Add a symbol layer that references that point source
layer = new SymbolLayer("layer", "point");
@@ -73,7 +76,7 @@ public class CustomSpriteActivity extends AppCompatActivity {
);
// lets add a circle below labels!
- mapboxMap.addLayerBelow(layer, "waterway-label");
+ style.addLayerBelow(layer, "waterway-label");
fab.setImageResource(R.drawable.ic_directions_car_black);
} else {
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/DataDrivenStyleActivity.java b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/DataDrivenStyleActivity.java
index cbac62bcc1..1fd844797f 100644
--- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/DataDrivenStyleActivity.java
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/DataDrivenStyleActivity.java
@@ -13,6 +13,7 @@ import com.mapbox.mapboxsdk.camera.CameraUpdateFactory;
import com.mapbox.mapboxsdk.geometry.LatLng;
import com.mapbox.mapboxsdk.maps.MapView;
import com.mapbox.mapboxsdk.maps.MapboxMap;
+import com.mapbox.mapboxsdk.maps.Style;
import com.mapbox.mapboxsdk.style.layers.FillLayer;
import com.mapbox.mapboxsdk.style.sources.GeoJsonSource;
import com.mapbox.mapboxsdk.style.sources.Source;
@@ -46,6 +47,7 @@ public class DataDrivenStyleActivity extends AppCompatActivity {
public static final String AMSTERDAM_PARKS_LAYER = "amsterdam-parks-layer";
private MapView mapView;
private MapboxMap mapboxMap;
+ private Style style;
@Override
protected void onCreate(Bundle savedInstanceState) {
@@ -60,6 +62,9 @@ public class DataDrivenStyleActivity extends AppCompatActivity {
// Store for later
mapboxMap = map;
+ // Store for later
+ style = map.getStyle();
+
// Add a parks layer
addParksLayer();
@@ -168,7 +173,7 @@ public class DataDrivenStyleActivity extends AppCompatActivity {
private void addExponentialZoomFunction() {
Timber.i("Add exponential zoom function");
- FillLayer layer = mapboxMap.getLayerAs("water");
+ FillLayer layer = style.getLayerAs("water");
assert layer != null;
layer.setProperties(
fillColor(
@@ -186,7 +191,7 @@ public class DataDrivenStyleActivity extends AppCompatActivity {
private void addIntervalZoomFunction() {
Timber.i("Add interval zoom function");
- FillLayer layer = mapboxMap.getLayerAs("water");
+ FillLayer layer = style.getLayerAs("water");
assert layer != null;
layer.setProperties(
fillColor(
@@ -204,7 +209,7 @@ public class DataDrivenStyleActivity extends AppCompatActivity {
private void addExponentialSourceFunction() {
Timber.i("Add exponential source function");
- FillLayer layer = mapboxMap.getLayerAs(AMSTERDAM_PARKS_LAYER);
+ FillLayer layer = style.getLayerAs(AMSTERDAM_PARKS_LAYER);
assert layer != null;
layer.setProperties(
fillColor(
@@ -223,7 +228,7 @@ public class DataDrivenStyleActivity extends AppCompatActivity {
private void addCategoricalSourceFunction() {
Timber.i("Add categorical source function");
- FillLayer layer = mapboxMap.getLayerAs(AMSTERDAM_PARKS_LAYER);
+ FillLayer layer = style.getLayerAs(AMSTERDAM_PARKS_LAYER);
assert layer != null;
layer.setProperties(
fillColor(
@@ -242,7 +247,7 @@ public class DataDrivenStyleActivity extends AppCompatActivity {
private void addIdentitySourceFunction() {
Timber.i("Add identity source function");
- FillLayer layer = mapboxMap.getLayerAs(AMSTERDAM_PARKS_LAYER);
+ FillLayer layer = style.getLayerAs(AMSTERDAM_PARKS_LAYER);
assert layer != null;
layer.setProperties(
fillOpacity(
@@ -255,7 +260,7 @@ public class DataDrivenStyleActivity extends AppCompatActivity {
private void addIntervalSourceFunction() {
Timber.i("Add interval source function");
- FillLayer layer = mapboxMap.getLayerAs(AMSTERDAM_PARKS_LAYER);
+ FillLayer layer = style.getLayerAs(AMSTERDAM_PARKS_LAYER);
assert layer != null;
layer.setProperties(
fillColor(
@@ -274,7 +279,7 @@ public class DataDrivenStyleActivity extends AppCompatActivity {
private void addCompositeExponentialFunction() {
Timber.i("Add composite exponential function");
- FillLayer layer = mapboxMap.getLayerAs(AMSTERDAM_PARKS_LAYER);
+ FillLayer layer = style.getLayerAs(AMSTERDAM_PARKS_LAYER);
assert layer != null;
layer.setProperties(
fillColor(
@@ -311,7 +316,7 @@ public class DataDrivenStyleActivity extends AppCompatActivity {
private void addCompositeIntervalFunction() {
Timber.i("Add composite interval function");
- FillLayer layer = mapboxMap.getLayerAs(AMSTERDAM_PARKS_LAYER);
+ FillLayer layer = style.getLayerAs(AMSTERDAM_PARKS_LAYER);
assert layer != null;
layer.setProperties(
fillColor(
@@ -348,7 +353,7 @@ public class DataDrivenStyleActivity extends AppCompatActivity {
private void addCompositeCategoricalFunction() {
Timber.i("Add composite categorical function");
- FillLayer layer = mapboxMap.getLayerAs(AMSTERDAM_PARKS_LAYER);
+ FillLayer layer = style.getLayerAs(AMSTERDAM_PARKS_LAYER);
assert layer != null;
layer.setProperties(
fillColor(
@@ -449,7 +454,7 @@ public class DataDrivenStyleActivity extends AppCompatActivity {
Source source;
try {
source = new GeoJsonSource("amsterdam-parks-source", ResourceUtils.readRawResource(this, R.raw.amsterdam));
- mapboxMap.addSource(source);
+ style.addSource(source);
} catch (IOException ioException) {
Toast.makeText(
DataDrivenStyleActivity.this,
@@ -459,7 +464,7 @@ public class DataDrivenStyleActivity extends AppCompatActivity {
}
// Add a fill layer
- mapboxMap.addLayer(new FillLayer(AMSTERDAM_PARKS_LAYER, source.getId())
+ style.addLayer(new FillLayer(AMSTERDAM_PARKS_LAYER, source.getId())
.withProperties(
fillColor(Color.BLACK),
fillOutlineColor(Color.BLUE),
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/FillExtrusionActivity.java b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/FillExtrusionActivity.java
index a88a489cb1..30d26f0910 100644
--- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/FillExtrusionActivity.java
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/FillExtrusionActivity.java
@@ -61,9 +61,9 @@ public class FillExtrusionActivity extends AppCompatActivity {
});
GeoJsonSource source = new GeoJsonSource("extrusion-source", domTower);
- map.addSource(source);
+ map.getStyle().addSource(source);
- mapboxMap.addLayer(
+ mapboxMap.getStyle().addLayer(
new FillExtrusionLayer("extrusion-layer", source.getId())
.withProperties(
fillExtrusionHeight(40f),
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/GeoJsonClusteringActivity.java b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/GeoJsonClusteringActivity.java
index 8664979292..02508a0e00 100644
--- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/GeoJsonClusteringActivity.java
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/GeoJsonClusteringActivity.java
@@ -114,7 +114,7 @@ public class GeoJsonClusteringActivity extends AppCompatActivity {
private void addClusteredGeoJsonSource() {
// Add a clustered source
try {
- mapboxMap.addSource(
+ mapboxMap.getStyle().addSource(
new GeoJsonSource("earthquakes",
new URL("https://www.mapbox.com/mapbox-gl-js/assets/earthquakes.geojson"),
new GeoJsonOptions()
@@ -136,7 +136,7 @@ public class GeoJsonClusteringActivity extends AppCompatActivity {
SymbolLayer unclustered = new SymbolLayer("unclustered-points", "earthquakes");
unclustered.setProperties(iconImage("marker-15"));
- mapboxMap.addLayer(unclustered);
+ mapboxMap.getStyle().addLayer(unclustered);
for (int i = 0; i < layers.length; i++) {
// Add some nice circles
@@ -150,7 +150,7 @@ public class GeoJsonClusteringActivity extends AppCompatActivity {
? gte("point_count", layers[i][0]) :
all(gte("point_count", layers[i][0]), lt("point_count", layers[i - 1][0]))
);
- mapboxMap.addLayer(circles);
+ mapboxMap.getStyle().addLayer(circles);
}
// Add the count labels
@@ -160,7 +160,7 @@ public class GeoJsonClusteringActivity extends AppCompatActivity {
textSize(12f),
textColor(Color.WHITE)
);
- mapboxMap.addLayer(count);
+ mapboxMap.getStyle().addLayer(count);
// Zoom out to start
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/GridSourceActivity.java b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/GridSourceActivity.java
index 9dda0f8fa2..8dfebd1f98 100644
--- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/GridSourceActivity.java
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/GridSourceActivity.java
@@ -101,7 +101,7 @@ public class GridSourceActivity extends AppCompatActivity implements OnMapReadyC
// add source
CustomGeometrySource source = new CustomGeometrySource(ID_GRID_SOURCE, new GridProvider());
- mapboxMap.addSource(source);
+ mapboxMap.getStyle().addSource(source);
// add layer
LineLayer layer = new LineLayer(ID_GRID_LAYER, ID_GRID_SOURCE);
@@ -109,7 +109,7 @@ public class GridSourceActivity extends AppCompatActivity implements OnMapReadyC
lineColor(Color.parseColor("#000000"))
);
- mapboxMap.addLayer(layer);
+ mapboxMap.getStyle().addLayer(layer);
}
@Override
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/RealTimeGeoJsonActivity.java b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/RealTimeGeoJsonActivity.java
index b9f1dfe810..301dbefa35 100644
--- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/RealTimeGeoJsonActivity.java
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/RealTimeGeoJsonActivity.java
@@ -53,7 +53,7 @@ public class RealTimeGeoJsonActivity extends AppCompatActivity implements OnMapR
// add source
try {
- mapboxMap.addSource(new GeoJsonSource(ID_GEOJSON_SOURCE, new URL(URL_GEOJSON_SOURCE)));
+ mapboxMap.getStyle().addSource(new GeoJsonSource(ID_GEOJSON_SOURCE, new URL(URL_GEOJSON_SOURCE)));
} catch (MalformedURLException malformedUrlException) {
Timber.e(malformedUrlException, "Invalid URL");
}
@@ -61,7 +61,7 @@ public class RealTimeGeoJsonActivity extends AppCompatActivity implements OnMapR
// add layer
SymbolLayer layer = new SymbolLayer(ID_GEOJSON_LAYER, ID_GEOJSON_SOURCE);
layer.setProperties(iconImage("rocket-15"));
- mapboxMap.addLayer(layer);
+ mapboxMap.getStyle().addLayer(layer);
// loop refresh geojson
handler = new Handler();
@@ -118,7 +118,7 @@ public class RealTimeGeoJsonActivity extends AppCompatActivity implements OnMapR
@Override
public void run() {
- ((GeoJsonSource) mapboxMap.getSource(ID_GEOJSON_SOURCE)).setUrl(URL_GEOJSON_SOURCE);
+ ((GeoJsonSource) mapboxMap.getStyle().getSource(ID_GEOJSON_SOURCE)).setUrl(URL_GEOJSON_SOURCE);
handler.postDelayed(this, 2000);
}
}
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/RuntimeStyleActivity.java b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/RuntimeStyleActivity.java
index 942ce9aa3d..861aded78b 100644
--- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/RuntimeStyleActivity.java
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/RuntimeStyleActivity.java
@@ -12,6 +12,7 @@ import com.mapbox.mapboxsdk.camera.CameraUpdateFactory;
import com.mapbox.mapboxsdk.geometry.LatLng;
import com.mapbox.mapboxsdk.maps.MapView;
import com.mapbox.mapboxsdk.maps.MapboxMap;
+import com.mapbox.mapboxsdk.maps.Style;
import com.mapbox.mapboxsdk.style.layers.CircleLayer;
import com.mapbox.mapboxsdk.style.layers.FillLayer;
import com.mapbox.mapboxsdk.style.layers.Layer;
@@ -72,6 +73,7 @@ public class RuntimeStyleActivity extends AppCompatActivity {
private MapView mapView;
private MapboxMap mapboxMap;
+ private Style style;
@Override
protected void onCreate(Bundle savedInstanceState) {
@@ -87,11 +89,14 @@ public class RuntimeStyleActivity extends AppCompatActivity {
// Store for later
mapboxMap = map;
+ // Store for later
+ style = map.getStyle();
+
// Center and Zoom (Amsterdam, zoomed to streets)
mapboxMap.animateCamera(CameraUpdateFactory.newLatLngZoom(new LatLng(52.379189, 4.899431), 14));
- mapboxMap.setTransitionDuration(250);
- mapboxMap.setTransitionDelay(50);
+ style.setTransitionDuration(250);
+ style.setTransitionDelay(50);
});
}
@@ -200,7 +205,7 @@ public class RuntimeStyleActivity extends AppCompatActivity {
}
private void listLayers() {
- List<Layer> layers = mapboxMap.getLayers();
+ List<Layer> layers = style.getLayers();
StringBuilder builder = new StringBuilder("Layers:");
for (Layer layer : layers) {
builder.append("\n");
@@ -210,7 +215,7 @@ public class RuntimeStyleActivity extends AppCompatActivity {
}
private void listSources() {
- List<Source> sources = mapboxMap.getSources();
+ List<Source> sources = style.getSources();
StringBuilder builder = new StringBuilder("Sources:");
for (Source source : sources) {
builder.append("\n");
@@ -222,7 +227,7 @@ public class RuntimeStyleActivity extends AppCompatActivity {
private void setLayerInvisible() {
String[] roadLayers = new String[] {"water"};
for (String roadLayer : roadLayers) {
- Layer layer = mapboxMap.getLayer(roadLayer);
+ Layer layer = style.getLayer(roadLayer);
if (layer != null) {
layer.setProperties(visibility(NONE));
}
@@ -236,7 +241,7 @@ public class RuntimeStyleActivity extends AppCompatActivity {
public void onFinish() {
String[] roadLayers = new String[] {"road-label-small", "road-label-medium", "road-label-large"};
for (String roadLayer : roadLayers) {
- Layer layer = mapboxMap.getLayer(roadLayer);
+ Layer layer = style.getLayer(roadLayer);
if (layer != null) {
layer.setProperties(symbolPlacement(SYMBOL_PLACEMENT_POINT));
}
@@ -246,14 +251,14 @@ public class RuntimeStyleActivity extends AppCompatActivity {
}
private void setBackgroundOpacity() {
- Layer background = mapboxMap.getLayer("background");
+ Layer background = style.getLayer("background");
if (background != null) {
background.setProperties(backgroundOpacity(0.2f));
}
}
private void setWaterColor() {
- FillLayer water = mapboxMap.getLayerAs("water");
+ FillLayer water = style.getLayerAs("water");
if (water != null) {
water.setFillColorTransition(new TransitionOptions(7500, 1000));
water.setProperties(
@@ -267,7 +272,7 @@ public class RuntimeStyleActivity extends AppCompatActivity {
private void removeBuildings() {
// Zoom to see buildings first
- mapboxMap.removeLayer("building");
+ style.removeLayer("building");
}
private void addParksLayer() {
@@ -283,7 +288,7 @@ public class RuntimeStyleActivity extends AppCompatActivity {
return;
}
- mapboxMap.addSource(source);
+ style.addSource(source);
FillLayer layer = new FillLayer("parksLayer", "amsterdam-spots");
layer.setProperties(
@@ -296,14 +301,14 @@ public class RuntimeStyleActivity extends AppCompatActivity {
// Only show me parks (except westerpark with stroke-width == 3)
layer.setFilter(all(eq("type", "park"), eq("stroke-width", 2)));
- mapboxMap.addLayerBelow(layer, "building");
+ style.addLayerBelow(layer, "building");
// layer.setPaintProperty(fillColor(Color.RED)); // XXX But not after the object is attached
// Or get the object later and set it. It's all good.
- mapboxMap.getLayer("parksLayer").setProperties(fillColor(Color.RED));
+ style.getLayer("parksLayer").setProperties(fillColor(Color.RED));
// You can get a typed layer, if you're sure it's of that type. Use with care
- layer = mapboxMap.getLayerAs("parksLayer");
+ layer = style.getLayerAs("parksLayer");
// And get some properties
PropertyValue<Boolean> fillAntialias = layer.getFillAntialias();
Timber.d("Fill anti alias: %s", fillAntialias.getValue());
@@ -333,7 +338,7 @@ public class RuntimeStyleActivity extends AppCompatActivity {
}
// Add an empty source
- mapboxMap.addSource(new GeoJsonSource("dynamic-park-source"));
+ style.addSource(new GeoJsonSource("dynamic-park-source"));
FillLayer layer = new FillLayer("dynamic-parks-layer", "dynamic-park-source");
layer.setProperties(
@@ -346,7 +351,7 @@ public class RuntimeStyleActivity extends AppCompatActivity {
// Only show me parks
layer.setFilter(all(eq("type", "park")));
- mapboxMap.addLayer(layer);
+ style.addLayer(layer);
// Get a good look at it all
mapboxMap.animateCamera(CameraUpdateFactory.zoomTo(12));
@@ -366,7 +371,7 @@ public class RuntimeStyleActivity extends AppCompatActivity {
// change the source
int park = counter < parks.getFeatures().size() - 1 ? counter : 0;
- GeoJsonSource source = mapboxMap.getSourceAs("dynamic-park-source");
+ GeoJsonSource source = style.getSourceAs("dynamic-park-source");
if (source == null) {
Timber.e("Source not found");
@@ -386,7 +391,7 @@ public class RuntimeStyleActivity extends AppCompatActivity {
private void addTerrainLayer() {
// Add a source
Source source = new VectorSource("my-terrain-source", "mapbox://mapbox.mapbox-terrain-v2");
- mapboxMap.addSource(source);
+ style.addSource(source);
LineLayer layer = new LineLayer("terrainLayer", "my-terrain-source");
layer.setSourceLayer("contour");
@@ -398,7 +403,7 @@ public class RuntimeStyleActivity extends AppCompatActivity {
);
// adding layers below "road" layers
- List<Layer> layers = mapboxMap.getLayers();
+ List<Layer> layers = style.getLayers();
Layer latestLayer = null;
Collections.reverse(layers);
for (Layer currentLayer : layers) {
@@ -414,17 +419,17 @@ public class RuntimeStyleActivity extends AppCompatActivity {
}
if (latestLayer != null) {
- mapboxMap.addLayerBelow(layer, latestLayer.getId());
+ style.addLayerBelow(layer, latestLayer.getId());
}
// Need to get a fresh handle
- layer = mapboxMap.getLayerAs("terrainLayer");
+ layer = style.getLayerAs("terrainLayer");
// Make sure it's also applied after the fact
layer.setMinZoom(10);
layer.setMaxZoom(15);
- layer = (LineLayer) mapboxMap.getLayer("terrainLayer");
+ layer = (LineLayer) style.getLayer("terrainLayer");
Toast.makeText(this, String.format(
"Set min/max zoom to %s - %s", layer.getMinZoom(), layer.getMaxZoom()), Toast.LENGTH_SHORT).show();
}
@@ -432,14 +437,14 @@ public class RuntimeStyleActivity extends AppCompatActivity {
private void addSatelliteLayer() {
// Add a source
Source source = new RasterSource("my-raster-source", "mapbox://mapbox.satellite", 512);
- mapboxMap.addSource(source);
+ style.addSource(source);
// Add a layer
- mapboxMap.addLayer(new RasterLayer("satellite-layer", "my-raster-source"));
+ style.addLayer(new RasterLayer("satellite-layer", "my-raster-source"));
}
private void updateWaterColorOnZoom() {
- FillLayer layer = mapboxMap.getLayerAs("water");
+ FillLayer layer = style.getLayerAs("water");
if (layer == null) {
return;
}
@@ -468,7 +473,7 @@ public class RuntimeStyleActivity extends AppCompatActivity {
tileSet.setMinZoom(0);
tileSet.setMaxZoom(14);
Source source = new VectorSource("custom-tile-source", tileSet);
- mapboxMap.addSource(source);
+ style.addSource(source);
// Add a layer
LineLayer lineLayer = new LineLayer("custom-tile-layers", "custom-tile-source");
@@ -480,11 +485,11 @@ public class RuntimeStyleActivity extends AppCompatActivity {
lineWidth(2.0f),
lineColor(Color.GREEN)
);
- mapboxMap.addLayer(lineLayer);
+ style.addLayer(lineLayer);
}
private void styleFillFilterLayer() {
- mapboxMap.setStyleUrl("asset://fill_filter_style.json");
+ mapboxMap.setStyle(Style.fromUrl("asset://fill_filter_style.json"));
mapboxMap.moveCamera(CameraUpdateFactory.newLatLngZoom(new LatLng(31, -100), 3));
Handler handler = new Handler(getMainLooper());
@@ -495,7 +500,7 @@ public class RuntimeStyleActivity extends AppCompatActivity {
Timber.d("Styling filtered fill layer");
- FillLayer states = (FillLayer) mapboxMap.getLayer("states");
+ FillLayer states = (FillLayer) style.getLayer("states");
if (states != null) {
states.setFilter(eq("name", "Texas"));
@@ -512,7 +517,7 @@ public class RuntimeStyleActivity extends AppCompatActivity {
}
private void styleLineFilterLayer() {
- mapboxMap.setStyleUrl("asset://line_filter_style.json");
+ mapboxMap.setStyle(Style.fromUrl("asset://line_filter_style.json"));
mapboxMap.moveCamera(CameraUpdateFactory.newLatLngZoom(new LatLng(40, -97), 5));
Handler handler = new Handler(getMainLooper());
@@ -523,7 +528,7 @@ public class RuntimeStyleActivity extends AppCompatActivity {
Timber.d("Styling filtered line layer");
- LineLayer counties = (LineLayer) mapboxMap.getLayer("counties");
+ LineLayer counties = (LineLayer) style.getLayer("counties");
if (counties != null) {
counties.setFilter(eq("NAME10", "Washington"));
@@ -540,7 +545,7 @@ public class RuntimeStyleActivity extends AppCompatActivity {
}
private void styleNumericFillLayer() {
- mapboxMap.setStyleUrl("asset://numeric_filter_style.json");
+ mapboxMap.setStyle(Style.fromUrl("asset://numeric_filter_style.json"));
mapboxMap.moveCamera(CameraUpdateFactory.newLatLngZoom(new LatLng(40, -97), 5));
Handler handler = new Handler(getMainLooper());
@@ -551,7 +556,7 @@ public class RuntimeStyleActivity extends AppCompatActivity {
Timber.d("Styling numeric fill layer");
- FillLayer regions = (FillLayer) mapboxMap.getLayer("regions");
+ FillLayer regions = (FillLayer) style.getLayer("regions");
if (regions != null) {
regions.setFilter(all(gte("HRRNUM", 200), lt("HRRNUM", 300)));
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/RuntimeStyleTimingTestActivity.java b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/RuntimeStyleTimingTestActivity.java
index e51a7ec8a0..59703b3fb1 100644
--- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/RuntimeStyleTimingTestActivity.java
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/RuntimeStyleTimingTestActivity.java
@@ -34,7 +34,7 @@ public class RuntimeStyleTimingTestActivity extends AppCompatActivity {
mapView.getMapAsync(mapboxMap -> {
RuntimeStyleTimingTestActivity.this.mapboxMap = mapboxMap;
VectorSource museums = new VectorSource("museums_source", "mapbox://mapbox.2opop9hr");
- mapboxMap.addSource(museums);
+ mapboxMap.getStyle().addSource(museums);
CircleLayer museumsLayer = new CircleLayer("museums", "museums_source");
museumsLayer.setSourceLayer("museum-cusco");
@@ -44,7 +44,7 @@ public class RuntimeStyleTimingTestActivity extends AppCompatActivity {
circleColor(Color.argb(1, 55, 148, 179))
);
- mapboxMap.addLayer(museumsLayer);
+ mapboxMap.getStyle().addLayer(museumsLayer);
});
}
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/StyleFileActivity.java b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/StyleFileActivity.java
index d2a46c63ae..1fb3bc9306 100644
--- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/StyleFileActivity.java
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/StyleFileActivity.java
@@ -10,6 +10,7 @@ import android.widget.Toast;
import com.mapbox.mapboxsdk.maps.MapView;
import com.mapbox.mapboxsdk.maps.MapboxMap;
+import com.mapbox.mapboxsdk.maps.Style;
import com.mapbox.mapboxsdk.testapp.R;
import com.mapbox.mapboxsdk.testapp.utils.ResourceUtils;
@@ -78,7 +79,7 @@ public class StyleFileActivity extends AppCompatActivity {
Timber.d("Read json, %s", json);
MapboxMap mapboxMap = this.mapboxMap.get();
if (mapboxMap != null) {
- mapboxMap.setStyleJson(json);
+ mapboxMap.setStyle(Style.fromJson(json));
}
}
}
@@ -116,7 +117,7 @@ public class StyleFileActivity extends AppCompatActivity {
// Actual file:// usage
MapboxMap mapboxMap = this.mapboxMap.get();
if (mapboxMap != null) {
- mapboxMap.setStyleUrl("file://" + cacheStyleFile.getAbsolutePath());
+ mapboxMap.setStyle(Style.fromUrl("file://" + cacheStyleFile.getAbsolutePath()));
}
}
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/SymbolGeneratorActivity.java b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/SymbolGeneratorActivity.java
index 1ef59db9b1..778f9a041d 100644
--- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/SymbolGeneratorActivity.java
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/SymbolGeneratorActivity.java
@@ -114,11 +114,11 @@ public class SymbolGeneratorActivity extends AppCompatActivity implements OnMapR
@Override
public boolean onOptionsItemSelected(MenuItem item) {
if (item.getItemId() == R.id.menu_action_icon_overlap) {
- SymbolLayer layer = mapboxMap.getLayerAs(LAYER_ID);
+ SymbolLayer layer = mapboxMap.getStyle().getLayerAs(LAYER_ID);
layer.setProperties(iconAllowOverlap(!layer.getIconAllowOverlap().getValue()));
return true;
} else if (item.getItemId() == R.id.menu_action_filter) {
- SymbolLayer layer = mapboxMap.getLayerAs(LAYER_ID);
+ SymbolLayer layer = mapboxMap.getStyle().getLayerAs(LAYER_ID);
layer.setFilter(Filter.eq(FEATURE_RANK, 1));
//layer.setFilter(eq(get(FEATURE_RANK), 1));
return true;
@@ -171,7 +171,7 @@ public class SymbolGeneratorActivity extends AppCompatActivity implements OnMapR
/**
* Utility class to generate Bitmaps for Symbol.
* <p>
- * Bitmaps can be added to the map with {@link com.mapbox.mapboxsdk.maps.MapboxMap#addImage(String, Bitmap)}
+ * Bitmaps can be added to the map with {@link com.mapbox.mapboxsdk.maps.Style#addImage(String, Bitmap)}
* </p>
*/
private static class SymbolGenerator {
@@ -238,10 +238,10 @@ public class SymbolGeneratorActivity extends AppCompatActivity implements OnMapR
public void onDataLoaded(@NonNull FeatureCollection featureCollection) {
// add a geojson to the map
Source source = new GeoJsonSource(SOURCE_ID, featureCollection);
- mapboxMap.addSource(source);
+ mapboxMap.getStyle().addSource(source);
// create layer use
- mapboxMap.addLayer(new SymbolLayer(LAYER_ID, SOURCE_ID)
+ mapboxMap.getStyle().addLayer(new SymbolLayer(LAYER_ID, SOURCE_ID)
.withProperties(
// icon configuration
@@ -303,7 +303,7 @@ public class SymbolGeneratorActivity extends AppCompatActivity implements OnMapR
@Override
protected void onPostExecute(HashMap<String, Bitmap> bitmapHashMap) {
super.onPostExecute(bitmapHashMap);
- mapboxMap.addImages(bitmapHashMap);
+ mapboxMap.getStyle().addImages(bitmapHashMap);
}
}
} \ No newline at end of file
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/SymbolLayerActivity.java b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/SymbolLayerActivity.java
index d89d71e604..086026a782 100644
--- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/SymbolLayerActivity.java
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/SymbolLayerActivity.java
@@ -15,6 +15,7 @@ import com.mapbox.mapboxsdk.camera.CameraUpdateFactory;
import com.mapbox.mapboxsdk.geometry.LatLng;
import com.mapbox.mapboxsdk.maps.MapView;
import com.mapbox.mapboxsdk.maps.MapboxMap;
+import com.mapbox.mapboxsdk.maps.Style;
import com.mapbox.mapboxsdk.style.layers.SymbolLayer;
import com.mapbox.mapboxsdk.style.sources.GeoJsonSource;
import com.mapbox.mapboxsdk.testapp.R;
@@ -53,8 +54,11 @@ public class SymbolLayerActivity extends AppCompatActivity implements MapboxMap.
mapView.getMapAsync(map -> {
mapboxMap = map;
+
+ Style style = map.getStyle();
+
// Add a image for the makers
- mapboxMap.addImage(
+ style.addImage(
"my-marker-image",
BitmapFactory.decodeResource(SymbolLayerActivity.this.getResources(),
R.drawable.mapbox_marker_icon_default)
@@ -65,10 +69,10 @@ public class SymbolLayerActivity extends AppCompatActivity implements MapboxMap.
Feature.fromGeometry(Point.fromCoordinates(new double[] {4.91638, 52.35673}), featureProperties("Marker 1")),
Feature.fromGeometry(Point.fromCoordinates(new double[] {4.91638, 52.34673}), featureProperties("Marker 2"))
});
- mapboxMap.addSource(new GeoJsonSource(MARKER_SOURCE, markers));
+ style.addSource(new GeoJsonSource(MARKER_SOURCE, markers));
// Add the symbol-layer
- mapboxMap.addLayer(
+ style.addLayer(
new SymbolLayer(MARKER_LAYER, MARKER_SOURCE)
.withProperties(
iconImage("my-marker-image"),
@@ -93,7 +97,7 @@ public class SymbolLayerActivity extends AppCompatActivity implements MapboxMap.
PointF screenLoc = mapboxMap.getProjection().toScreenLocation(point);
List<Feature> features = mapboxMap.queryRenderedFeatures(screenLoc, MARKER_LAYER);
- SymbolLayer layer = mapboxMap.getLayerAs(MARKER_LAYER);
+ SymbolLayer layer = mapboxMap.getStyle().getLayerAs(MARKER_LAYER);
if (features.size() == 0) {
// Reset
layer.setProperties(iconSize(1f));
@@ -103,17 +107,17 @@ public class SymbolLayerActivity extends AppCompatActivity implements MapboxMap.
}
private void toggleTextSize() {
- SymbolLayer layer = mapboxMap.getLayerAs(MARKER_LAYER);
+ SymbolLayer layer = mapboxMap.getStyle().getLayerAs(MARKER_LAYER);
layer.setProperties(layer.getTextSize().getValue() > 10 ? textSize(10f) : textSize(20f));
}
private void toggleTextField() {
- SymbolLayer layer = mapboxMap.getLayerAs(MARKER_LAYER);
+ SymbolLayer layer = mapboxMap.getStyle().getLayerAs(MARKER_LAYER);
layer.setProperties("{title}".equals(layer.getTextField().getValue()) ? textField("āA") : textField("{title}"));
}
private void toggleTextFont() {
- SymbolLayer layer = mapboxMap.getLayerAs(MARKER_LAYER);
+ SymbolLayer layer = mapboxMap.getStyle().getLayerAs(MARKER_LAYER);
String[] fonts = layer.getTextFont().getValue();
if (fonts == null || fonts.length == 0 || Arrays.asList(fonts).contains("Arial Unicode MS Regular")) {
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/ZoomFunctionSymbolLayerActivity.java b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/ZoomFunctionSymbolLayerActivity.java
index 4a6e62ef7d..aa4db224b7 100644
--- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/ZoomFunctionSymbolLayerActivity.java
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/ZoomFunctionSymbolLayerActivity.java
@@ -75,7 +75,7 @@ public class ZoomFunctionSymbolLayerActivity extends AppCompatActivity {
source.setGeoJson(featureCollection);
} else {
source = new GeoJsonSource(SOURCE_ID, featureCollection);
- mapboxMap.addSource(source);
+ mapboxMap.getStyle().addSource(source);
}
}
@@ -121,7 +121,7 @@ public class ZoomFunctionSymbolLayerActivity extends AppCompatActivity {
),
iconAllowOverlap(true)
);
- mapboxMap.addLayer(layer);
+ mapboxMap.getStyle().addLayer(layer);
}
private void addMapClickListener() {
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/textureview/TextureViewDebugModeActivity.java b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/textureview/TextureViewDebugModeActivity.java
index 007e6c7f2e..075c6de772 100644
--- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/textureview/TextureViewDebugModeActivity.java
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/textureview/TextureViewDebugModeActivity.java
@@ -15,10 +15,10 @@ import android.widget.BaseAdapter;
import android.widget.ListView;
import android.widget.TextView;
-import com.mapbox.mapboxsdk.constants.Style;
import com.mapbox.mapboxsdk.maps.MapView;
import com.mapbox.mapboxsdk.maps.MapboxMap;
import com.mapbox.mapboxsdk.maps.OnMapReadyCallback;
+import com.mapbox.mapboxsdk.maps.Style;
import com.mapbox.mapboxsdk.style.layers.Layer;
import com.mapbox.mapboxsdk.style.layers.Property;
import com.mapbox.mapboxsdk.testapp.R;
@@ -82,8 +82,8 @@ public class TextureViewDebugModeActivity extends AppCompatActivity implements O
mapView = (MapView) findViewById(R.id.mapView);
mapView.addOnMapChangedListener(change -> {
if (change == MapView.DID_FINISH_LOADING_STYLE && mapboxMap != null) {
- Timber.v("New style loaded with JSON: %s", mapboxMap.getStyleJson());
- setupNavigationView(mapboxMap.getLayers());
+ Timber.v("New style loaded with JSON: %s", mapboxMap.getStyle().getJson());
+ setupNavigationView(mapboxMap.getStyle().getLayers());
}
});
@@ -98,7 +98,7 @@ public class TextureViewDebugModeActivity extends AppCompatActivity implements O
mapboxMap = map;
mapboxMap.getUiSettings().setZoomControlsEnabled(true);
- setupNavigationView(mapboxMap.getLayers());
+ setupNavigationView(mapboxMap.getStyle().getLayers());
setupZoomView();
setFpsView();
}
@@ -157,7 +157,9 @@ public class TextureViewDebugModeActivity extends AppCompatActivity implements O
if (currentStyleIndex == STYLES.length) {
currentStyleIndex = 0;
}
- mapboxMap.setStyleUrl(STYLES[currentStyleIndex], style -> Timber.d("Style loaded %s", style));
+
+ Style style = Style.fromUrl(STYLES[currentStyleIndex]);
+ mapboxMap.setStyle(style, style1 -> Timber.d("Style loaded %s", style1.getUrl()));
}
});
}
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/userlocation/MyLocationDrawableActivity.java b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/userlocation/MyLocationDrawableActivity.java
index 000042306f..46a730f978 100644
--- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/userlocation/MyLocationDrawableActivity.java
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/userlocation/MyLocationDrawableActivity.java
@@ -9,11 +9,11 @@ import android.view.View;
import android.view.ViewGroup;
import com.mapbox.mapboxsdk.camera.CameraUpdateFactory;
-import com.mapbox.mapboxsdk.constants.Style;
import com.mapbox.mapboxsdk.geometry.LatLng;
import com.mapbox.mapboxsdk.maps.MapView;
import com.mapbox.mapboxsdk.maps.MapboxMap;
import com.mapbox.mapboxsdk.maps.MapboxMapOptions;
+import com.mapbox.mapboxsdk.maps.Style;
import com.mapbox.mapboxsdk.testapp.R;
import com.mapbox.services.android.telemetry.location.LocationEngineListener;