diff options
Diffstat (limited to 'android')
6 files changed, 60 insertions, 47 deletions
diff --git a/android/java/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/constants/Style.java b/android/java/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/constants/Style.java new file mode 100644 index 0000000000..936f3943e0 --- /dev/null +++ b/android/java/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/constants/Style.java @@ -0,0 +1,36 @@ +package com.mapbox.mapboxsdk.constants; + +import android.support.annotation.StringDef; + +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; + +public class Style { + + @StringDef({MAPBOX_STREETS, EMERALD, LIGHT, DARK, SATELLITE}) + @Retention(RetentionPolicy.SOURCE) + public @interface StyleUrl { + } + + /** + * Mapbox Streets: Our signature style. + */ + public static final String MAPBOX_STREETS = "asset://styles/streets-v8.json"; + /** + * Emerald: Great for transportation and outdoor terrain. + */ + public static final String EMERALD = "asset://styles/emerald-v8.json"; + /** + * Light: Light-colored style that is great for data overlay. + */ + public static final String LIGHT = "asset://styles/light-v8.json"; + /** + * Dark: Dark-colored style that is great for data overlay. + */ + public static final String DARK = "asset://styles/dark-v8.json"; + /** + * Satellite: The best-looking, most accurate, and most up-to-date satellite imagery available anywhere. + */ + public static final String SATELLITE = "asset://styles/satellite-v8.json"; + +} diff --git a/android/java/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/views/MapView.java b/android/java/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/views/MapView.java index 4af2278eaf..72fa9983d0 100644 --- a/android/java/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/views/MapView.java +++ b/android/java/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/views/MapView.java @@ -61,6 +61,7 @@ import com.mapbox.mapboxsdk.annotations.Polygon; import com.mapbox.mapboxsdk.annotations.PolygonOptions; import com.mapbox.mapboxsdk.annotations.Polyline; import com.mapbox.mapboxsdk.annotations.PolylineOptions; +import com.mapbox.mapboxsdk.constants.Style; import com.mapbox.mapboxsdk.exceptions.InvalidAccessTokenException; import com.mapbox.mapboxsdk.geometry.BoundingBox; import com.mapbox.mapboxsdk.geometry.LatLng; @@ -243,41 +244,6 @@ public final class MapView extends FrameLayout { // Inner classes // - // These provide easy access to the bundled styles - - /** - * StyleUrls 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 static final class StyleUrls { - private StyleUrls() { - } - - /** - * Mapbox Streets: Our signature style. - */ - public static final String MAPBOX_STREETS = "asset://styles/streets-v8.json"; - /** - * Emerald: Great for transportation and outdoor terrain. - */ - public static final String EMERALD = "asset://styles/emerald-v8.json"; - /** - * Light: Light-colored style that is great for data overlay. - */ - public static final String LIGHT = "asset://styles/light-v8.json"; - /** - * Dark: Dark-colored style that is great for data overlay. - */ - public static final String DARK = "asset://styles/dark-v8.json"; - /** - * Satellite: The best-looking, most accurate, and most up-to-date satellite imagery available anywhere. - */ - public static final String SATELLITE = "asset://styles/satellite-v8.json"; - } - // // Enums // @@ -1335,7 +1301,7 @@ public final class MapView extends FrameLayout { * <p/> * {@code url} can take the following forms: * <ul> - * <li>{@code MapView.StyleUrls.*}: load one of the bundled styles in {@link MapView.StyleUrls}.</li> + * <li>{@code MapView.StyleUrls.*}: load one of the bundled styles in {@link Style}.</li> * <li>{@code mapbox://styles/<user>/<style>}: * retrieves 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 @@ -1345,7 +1311,7 @@ public final class MapView extends FrameLayout { * <li>{@code asset://...}: * reads the style from the APK {@code asset/} directory. * This is used to load a style bundled with your app.</li> - * <li>{@code null}: loads the default {@link MapView.StyleUrls#MAPBOX_STREETS} style.</li> + * <li>{@code null}: loads the default {@link Style#MAPBOX_STREETS} style.</li> * </ul> * <p/> * This method is asynchronous and will return immediately before the style finishes loading. @@ -1355,17 +1321,23 @@ public final class MapView extends FrameLayout { * An error message will be logged in the Android logcat and {@link MapView.MapChange#DidFailLoadingMap} event will be sent. * * @param url The URL of the map style - * @see MapView.StyleUrls + * @see Style */ @UiThread public void setStyleUrl(@Nullable String url) { if (url == null) { - url = StyleUrls.MAPBOX_STREETS; + url = Style.MAPBOX_STREETS; } mStyleUrl = url; mNativeMapView.setStyleUrl(url); } + @UiThread + @NonNull + public void setStyle(@Style.StyleUrl String style){ + setStyleUrl(style); + } + /** * Returns the map style currently displayed in the map view. * <p/> diff --git a/android/java/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/InfoWindowAdapterActivity.java b/android/java/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/InfoWindowAdapterActivity.java index 08311c9689..075a0da62b 100644 --- a/android/java/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/InfoWindowAdapterActivity.java +++ b/android/java/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/InfoWindowAdapterActivity.java @@ -11,6 +11,7 @@ import android.widget.TextView; import com.mapbox.mapboxsdk.annotations.Marker; import com.mapbox.mapboxsdk.annotations.MarkerOptions; +import com.mapbox.mapboxsdk.constants.Style; import com.mapbox.mapboxsdk.geometry.LatLng; import com.mapbox.mapboxsdk.utils.ApiAccess; import com.mapbox.mapboxsdk.views.MapView; @@ -38,7 +39,7 @@ public class InfoWindowAdapterActivity extends AppCompatActivity { mMapView = (MapView) findViewById(R.id.secondMapView); mMapView.setAccessToken(ApiAccess.getToken(this)); mMapView.onCreate(savedInstanceState); - mMapView.setStyleUrl(MapView.StyleUrls.MAPBOX_STREETS); + mMapView.setStyle(Style.MAPBOX_STREETS); mMapView.setInfoWindowAdapter(new MapView.InfoWindowAdapter() { private int tenDp = (int) getResources().getDimension(R.dimen.attr_margin); diff --git a/android/java/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/MainActivity.java b/android/java/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/MainActivity.java index 227fcfe691..b5c96ca986 100644 --- a/android/java/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/MainActivity.java +++ b/android/java/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/MainActivity.java @@ -28,6 +28,7 @@ import com.mapbox.mapboxsdk.annotations.Marker; import com.mapbox.mapboxsdk.annotations.MarkerOptions; import com.mapbox.mapboxsdk.annotations.PolygonOptions; import com.mapbox.mapboxsdk.annotations.PolylineOptions; +import com.mapbox.mapboxsdk.constants.Style; import com.mapbox.mapboxsdk.geometry.LatLng; import com.mapbox.mapboxsdk.utils.ApiAccess; import com.mapbox.mapboxsdk.views.MapView; @@ -160,6 +161,7 @@ public class MainActivity extends AppCompatActivity { mSelectedStyle = savedInstanceState.getInt(STATE_SELECTED_STYLE); } + // Set default UI state mNavigationView.getMenu().findItem(R.id.action_compass).setChecked(mMapView.isCompassEnabled()); mNavigationView.getMenu().findItem(R.id.action_debug).setChecked(mMapView.isDebugActive()); @@ -325,27 +327,27 @@ public class MainActivity extends AppCompatActivity { private boolean changeMapStyle(int id) { switch (id) { case R.id.actionStyleMapboxStreets: - mMapView.setStyleUrl(MapView.StyleUrls.MAPBOX_STREETS); + mMapView.setStyle(Style.MAPBOX_STREETS); mSelectedStyle = id; return true; case R.id.actionStyleEmerald: - mMapView.setStyleUrl(MapView.StyleUrls.EMERALD); + mMapView.setStyle(Style.EMERALD); mSelectedStyle = id; return true; case R.id.actionStyleLight: - mMapView.setStyleUrl(MapView.StyleUrls.LIGHT); + mMapView.setStyle(Style.LIGHT); mSelectedStyle = id; return true; case R.id.actionStyleDark: - mMapView.setStyleUrl(MapView.StyleUrls.DARK); + mMapView.setStyle(Style.DARK); mSelectedStyle = id; return true; case R.id.actionStyleSatellite: - mMapView.setStyleUrl(MapView.StyleUrls.SATELLITE); + mMapView.setStyle(Style.SATELLITE); mSelectedStyle = id; return true; diff --git a/android/java/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/MapFragmentActivity.java b/android/java/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/MapFragmentActivity.java index ebb1e2f113..2eadedca2a 100644 --- a/android/java/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/MapFragmentActivity.java +++ b/android/java/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/MapFragmentActivity.java @@ -10,6 +10,7 @@ import android.view.MenuItem; import android.view.View; import com.mapbox.mapboxsdk.MapFragment; +import com.mapbox.mapboxsdk.constants.Style; import com.mapbox.mapboxsdk.geometry.LatLng; import com.mapbox.mapboxsdk.views.MapView; @@ -48,7 +49,7 @@ public class MapFragmentActivity extends AppCompatActivity { super.onViewCreated(view, savedInstanceState); MapView mapView = getMap(); - mapView.setStyleUrl(MapView.StyleUrls.EMERALD); + mapView.setStyleUrl(Style.EMERALD); mapView.setZoomLevel(12); mapView.setCenterCoordinate(new LatLng(50.853658, 4.352419)); diff --git a/android/java/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/PressForMarkerActivity.java b/android/java/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/PressForMarkerActivity.java index 70cb8b0786..62fd763226 100644 --- a/android/java/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/PressForMarkerActivity.java +++ b/android/java/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/PressForMarkerActivity.java @@ -11,6 +11,7 @@ import android.view.MotionEvent; import android.view.View; import com.mapbox.mapboxsdk.annotations.Marker; import com.mapbox.mapboxsdk.annotations.MarkerOptions; +import com.mapbox.mapboxsdk.constants.Style; import com.mapbox.mapboxsdk.geometry.LatLng; import com.mapbox.mapboxsdk.utils.ApiAccess; import com.mapbox.mapboxsdk.views.MapView; @@ -40,7 +41,7 @@ public class PressForMarkerActivity extends AppCompatActivity { mMapView = (MapView) findViewById(R.id.pressForMarkerMapView); mMapView.setAccessToken(ApiAccess.getToken(this)); - mMapView.setStyleUrl(MapView.StyleUrls.EMERALD); + mMapView.setStyleUrl(Style.EMERALD); mMapView.onCreate(savedInstanceState); mMapView.setCenterCoordinate(new LatLng(45.1855569, 5.7215506)); |