summaryrefslogtreecommitdiff
path: root/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style
diff options
context:
space:
mode:
Diffstat (limited to 'platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style')
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/AnimatedImageSourceActivity.java23
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/BuildingFillExtrusionActivity.java9
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/CircleLayerActivity.java22
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/CustomSpriteActivity.java87
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/DataDrivenStyleActivity.java11
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/DraggableMarkerActivity.kt14
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/FillExtrusionActivity.java76
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/GeoJsonClusteringActivity.java31
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/GradientLineActivity.java36
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/GridSourceActivity.java14
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/HeatmapLayerActivity.java12
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/HillshadeLayerActivity.java9
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/RealTimeGeoJsonActivity.java38
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/RuntimeStyleActivity.java27
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/RuntimeStyleTimingTestActivity.java9
-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/SymbolLayerActivity.java77
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/ZoomFunctionSymbolLayerActivity.java12
18 files changed, 280 insertions, 232 deletions
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 b481c97e5a..6133db6689 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,22 +53,24 @@ public class AnimatedImageSourceActivity extends AppCompatActivity implements On
public void onMapReady(@NonNull final MapboxMap map) {
mapboxMap = map;
- // add source
- LatLngQuad quad = new LatLngQuad(
+ map.setStyle(Style.MAPBOX_STREETS, style -> {
+ // 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.getStyle().addSource(new ImageSource(ID_IMAGE_SOURCE, quad, R.drawable.southeast_radar_0));
+ mapboxMap.getStyle().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.getStyle().addLayer(layer);
+ // add layer
+ RasterLayer layer = new RasterLayer(ID_IMAGE_LAYER, ID_IMAGE_SOURCE);
+ mapboxMap.getStyle().addLayer(layer);
- // loop refresh geojson
- handler = new Handler();
- runnable = new RefreshImageRunnable(mapboxMap, handler);
- handler.postDelayed(runnable, 100);
+ // loop refresh geojson
+ handler = new Handler();
+ runnable = new RefreshImageRunnable(mapboxMap, handler);
+ handler.postDelayed(runnable, 100);
+ });
}
@Override
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 1534b21956..846650f6cb 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
@@ -43,13 +43,14 @@ public class BuildingFillExtrusionActivity extends AppCompatActivity {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_building_layer);
- mapView = (MapView) findViewById(R.id.mapView);
+ mapView = findViewById(R.id.mapView);
mapView.onCreate(savedInstanceState);
mapView.getMapAsync(map -> {
mapboxMap = map;
- Style style = map.getStyle();
- setupBuildings(style);
- setupLight();
+ mapboxMap.setStyle(Style.MAPBOX_STREETS, style -> {
+ setupBuildings(style);
+ setupLight();
+ });
});
}
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 50be29cfb3..10a01ee221 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
@@ -74,18 +74,18 @@ public class CircleLayerActivity extends AppCompatActivity implements View.OnCli
mapView.onCreate(savedInstanceState);
mapView.getMapAsync(map -> {
mapboxMap = map;
- addBusStopSource();
- addBusStopCircleLayer();
- initFloatingActionButtons();
- isLoadingStyle = false;
- });
- mapView.addOnDidFinishLoadingStyleListener(new MapView.OnDidFinishLoadingStyleListener() {
- @Override
- public void onDidFinishLoadingStyle() {
- addBusStop();
+ mapboxMap.setStyle(Style.SATELLITE_STREETS, style -> {
+ addBusStopSource();
+ addBusStopCircleLayer();
+ initFloatingActionButtons();
isLoadingStyle = false;
- }
+ });
+ });
+
+ mapView.addOnDidFinishLoadingStyleListener(() -> {
+ addBusStop();
+ isLoadingStyle = false;
});
}
@@ -219,7 +219,7 @@ public class CircleLayerActivity extends AppCompatActivity implements View.OnCli
}
private void loadNewStyle() {
- mapboxMap.setStyleUrl(getNextStyle());
+ mapboxMap.setStyle(new Style.Builder().fromUrl(getNextStyle()));
}
private void addBusStop() {
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 f9b6b70d56..4dd0d4ec0c 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
@@ -47,51 +47,54 @@ public class CustomSpriteActivity extends AppCompatActivity {
mapView.onCreate(savedInstanceState);
mapView.getMapAsync(map -> {
mapboxMap = map;
- final FloatingActionButton fab = findViewById(R.id.fab);
- fab.setColorFilter(ContextCompat.getColor(CustomSpriteActivity.this, R.color.primary));
- fab.setOnClickListener(new View.OnClickListener() {
-
- private Point point;
-
- @Override
- public void onClick(View view) {
- if (point == null) {
- Timber.i("First click -> Car");
- // Add an icon to reference later
- mapboxMap.getStyle().addImage(CUSTOM_ICON, BitmapFactory.decodeResource(getResources(), R.drawable.ic_car_top));
-
- // Add a source with a geojson point
- point = Point.fromLngLat(13.400972d, 52.519003d);
- source = new GeoJsonSource(
- "point",
- FeatureCollection.fromFeatures(new Feature[] {Feature.fromGeometry(point)})
- );
- mapboxMap.getStyle().addSource(source);
-
- // Add a symbol layer that references that point source
- layer = new SymbolLayer("layer", "point");
- layer.setProperties(
- // Set the id of the sprite to use
- iconImage(CUSTOM_ICON),
- iconAllowOverlap(true),
- iconIgnorePlacement(true)
- );
-
- // lets add a circle below labels!
- mapboxMap.getStyle().addLayerBelow(layer, "waterway-label");
-
- fab.setImageResource(R.drawable.ic_directions_car_black);
- } else {
- // Update point
- point = Point.fromLngLat(point.longitude() + 0.001,
+
+ map.getStyle(style -> {
+ final FloatingActionButton fab = findViewById(R.id.fab);
+ fab.setColorFilter(ContextCompat.getColor(CustomSpriteActivity.this, R.color.primary));
+ fab.setOnClickListener(new View.OnClickListener() {
+
+ private Point point;
+
+ @Override
+ public void onClick(View view) {
+ if (point == null) {
+ Timber.i("First click -> Car");
+ // Add an icon to reference later
+ style.addImage(CUSTOM_ICON, BitmapFactory.decodeResource(getResources(), R.drawable.ic_car_top));
+
+ // Add a source with a geojson point
+ point = Point.fromLngLat(13.400972d, 52.519003d);
+ source = new GeoJsonSource(
+ "point",
+ FeatureCollection.fromFeatures(new Feature[] {Feature.fromGeometry(point)})
+ );
+ mapboxMap.getStyle().addSource(source);
+
+ // Add a symbol layer that references that point source
+ layer = new SymbolLayer("layer", "point");
+ layer.setProperties(
+ // Set the id of the sprite to use
+ iconImage(CUSTOM_ICON),
+ iconAllowOverlap(true),
+ iconIgnorePlacement(true)
+ );
+
+ // lets add a circle below labels!
+ mapboxMap.getStyle().addLayerBelow(layer, "waterway-label");
+
+ fab.setImageResource(R.drawable.ic_directions_car_black);
+ } else {
+ // Update point
+ point = Point.fromLngLat(point.longitude() + 0.001,
point.latitude() + 0.001);
- source.setGeoJson(FeatureCollection.fromFeatures(new Feature[] {Feature.fromGeometry(point)}));
+ source.setGeoJson(FeatureCollection.fromFeatures(new Feature[] {Feature.fromGeometry(point)}));
- // Move the camera as well
- mapboxMap.moveCamera(CameraUpdateFactory.newLatLng(new LatLng(
- point.latitude(), point.longitude())));
+ // Move the camera as well
+ mapboxMap.moveCamera(CameraUpdateFactory.newLatLng(new LatLng(
+ point.latitude(), point.longitude())));
+ }
}
- }
+ });
});
});
}
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 9fabcbbb42..f566944542 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
@@ -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.FillLayer;
import com.mapbox.mapboxsdk.style.sources.GeoJsonSource;
import com.mapbox.mapboxsdk.style.sources.Source;
@@ -63,11 +64,13 @@ public class DataDrivenStyleActivity extends AppCompatActivity {
// Store for later
mapboxMap = map;
- // Add a parks layer
- addParksLayer();
+ mapboxMap.setStyle(Style.MAPBOX_STREETS, style -> {
+ // Add a parks layer
+ addParksLayer();
- // Add debug overlay
- setupDebugZoomView();
+ // Add debug overlay
+ setupDebugZoomView();
+ });
// Center and Zoom (Amsterdam, zoomed to streets)
mapboxMap.animateCamera(CameraUpdateFactory.newLatLngZoom(new LatLng(52.379189, 4.899431), 14));
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/DraggableMarkerActivity.kt b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/DraggableMarkerActivity.kt
index 6b55a73b4c..0b784675e9 100644
--- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/DraggableMarkerActivity.kt
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/DraggableMarkerActivity.kt
@@ -16,6 +16,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.PropertyFactory.*
import com.mapbox.mapboxsdk.style.layers.SymbolLayer
import com.mapbox.mapboxsdk.style.sources.GeoJsonSource
@@ -67,12 +68,13 @@ class DraggableMarkerActivity : AppCompatActivity() {
mapView.getMapAsync { mapboxMap ->
this.mapboxMap = mapboxMap
- val style = mapboxMap.style
-
- // Setting up markers icon, source and layer
- mapboxMap.getStyle().addImage(markerImageId, IconFactory.getInstance(this).defaultMarker().bitmap)
- style.addSource(source)
- style.addLayer(layer)
+ mapboxMap.setStyle(
+ Style.Builder()
+ .fromUrl(Style.MAPBOX_STREETS)
+ .withImage(markerImageId, IconFactory.getInstance(this).defaultMarker().bitmap)
+ .withSource(source)
+ .withLayer(layer)
+ )
// Add initial markers
addMarker(LatLng(52.407210, 16.924324))
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 1ef47a852a..ad953ef6b3 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
@@ -9,13 +9,14 @@ import com.mapbox.mapboxsdk.camera.CameraPosition;
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.FillExtrusionLayer;
import com.mapbox.mapboxsdk.style.sources.GeoJsonSource;
import com.mapbox.mapboxsdk.testapp.R;
import com.mapbox.geojson.Polygon;
import java.util.Arrays;
+import java.util.Collections;
import java.util.List;
import static com.mapbox.mapboxsdk.style.layers.PropertyFactory.fillExtrusionColor;
@@ -28,51 +29,50 @@ import static com.mapbox.mapboxsdk.style.layers.PropertyFactory.fillExtrusionOpa
public class FillExtrusionActivity extends AppCompatActivity {
private MapView mapView;
- private MapboxMap mapboxMap;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_fill_extrusion_layer);
- mapView = (MapView) findViewById(R.id.mapView);
+ mapView = findViewById(R.id.mapView);
mapView.onCreate(savedInstanceState);
- mapView.getMapAsync(map -> {
- mapboxMap = map;
- List<List<Point>> lngLats = Arrays.asList(
- Arrays.asList(
- Point.fromLngLat(5.12112557888031, 52.09071040847704),
- Point.fromLngLat(5.121227502822875, 52.09053901776669),
- Point.fromLngLat(5.121484994888306, 52.090601641371805),
- Point.fromLngLat(5.1213884353637695, 52.090766439912635),
- Point.fromLngLat(5.12112557888031, 52.09071040847704)
+ mapView.getMapAsync(mapboxMap -> {
+ mapboxMap.setStyle(Style.MAPBOX_STREETS, style -> {
+ List<List<Point>> lngLats = Collections.singletonList(
+ Arrays.asList(
+ Point.fromLngLat(5.12112557888031, 52.09071040847704),
+ Point.fromLngLat(5.121227502822875, 52.09053901776669),
+ Point.fromLngLat(5.121484994888306, 52.090601641371805),
+ Point.fromLngLat(5.1213884353637695, 52.090766439912635),
+ Point.fromLngLat(5.12112557888031, 52.09071040847704)
)
- );
-
- Polygon domTower = Polygon.fromLngLats(lngLats);
-
- GeoJsonSource source = new GeoJsonSource("extrusion-source", domTower);
- map.getStyle().addSource(source);
-
- mapboxMap.getStyle().addLayer(
- new FillExtrusionLayer("extrusion-layer", source.getId())
- .withProperties(
- fillExtrusionHeight(40f),
- fillExtrusionOpacity(0.5f),
- fillExtrusionColor(Color.RED)
- )
- );
-
- mapboxMap.animateCamera(
- CameraUpdateFactory.newCameraPosition(
- new CameraPosition.Builder()
- .target(new LatLng(52.09071040847704, 5.12112557888031))
- .tilt(45.0)
- .zoom(18)
- .build()
- ),
- 10000
- );
+ );
+
+ Polygon domTower = Polygon.fromLngLats(lngLats);
+ GeoJsonSource source = new GeoJsonSource("extrusion-source", domTower);
+ style.addSource(source);
+
+ style.addLayer(
+ new FillExtrusionLayer("extrusion-layer", source.getId())
+ .withProperties(
+ fillExtrusionHeight(40f),
+ fillExtrusionOpacity(0.5f),
+ fillExtrusionColor(Color.RED)
+ )
+ );
+
+ mapboxMap.animateCamera(
+ CameraUpdateFactory.newCameraPosition(
+ new CameraPosition.Builder()
+ .target(new LatLng(52.09071040847704, 5.12112557888031))
+ .tilt(45.0)
+ .zoom(18)
+ .build()
+ ),
+ 10000
+ );
+ });
});
}
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 713d0b7451..2e1d255a44 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
@@ -9,6 +9,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.expressions.Expression;
import com.mapbox.mapboxsdk.style.layers.CircleLayer;
import com.mapbox.mapboxsdk.style.layers.SymbolLayer;
@@ -66,13 +67,19 @@ public class GeoJsonClusteringActivity extends AppCompatActivity {
mapView.getMapAsync(map -> {
mapboxMap = map;
mapboxMap.animateCamera(CameraUpdateFactory.newLatLngZoom(new LatLng(37.7749, 122.4194), 0));
- mapboxMap.getStyle().addImage(
- "icon-id",
- BitmapUtils.getBitmapFromDrawable(getResources().getDrawable(R.drawable.ic_hearing_black_24dp)),
- true
- );
- // Add a clustered source with some layers
- addClusteredGeoJsonSource();
+
+ mapboxMap.setStyle(Style.MAPBOX_STREETS, new Style.OnStyleLoaded() {
+ @Override
+ public void onStyleLoaded(Style style) {
+ style.addImage(
+ "icon-id",
+ BitmapUtils.getBitmapFromDrawable(getResources().getDrawable(R.drawable.ic_hearing_black_24dp)),
+ true
+ );
+ // Add a clustered source with some layers
+ addClusteredGeoJsonSource(style);
+ }
+ });
});
}
@@ -129,10 +136,10 @@ public class GeoJsonClusteringActivity extends AppCompatActivity {
}
}
- private void addClusteredGeoJsonSource() {
+ private void addClusteredGeoJsonSource(Style style) {
// Add a clustered source
try {
- mapboxMap.getStyle().addSource(
+ style.addSource(
new GeoJsonSource("earthquakes",
new URL("https://www.mapbox.com/mapbox-gl-js/assets/earthquakes.geojson"),
new GeoJsonOptions()
@@ -169,7 +176,7 @@ public class GeoJsonClusteringActivity extends AppCompatActivity {
)
);
unclustered.setFilter(has("mag"));
- mapboxMap.getStyle().addLayer(unclustered);
+ style.addLayer(unclustered);
for (int i = 0; i < layers.length; i++) {
// Add some nice circles
@@ -189,7 +196,7 @@ public class GeoJsonClusteringActivity extends AppCompatActivity {
lt(pointCount, literal(layers[i - 1][0]))
)
);
- mapboxMap.getStyle().addLayer(circles);
+ style.addLayer(circles);
}
// Add the count labels
@@ -201,7 +208,7 @@ public class GeoJsonClusteringActivity extends AppCompatActivity {
textIgnorePlacement(true),
textAllowOverlap(true)
);
- mapboxMap.getStyle().addLayer(count);
+ style.addLayer(count);
// Zoom out to start
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/GradientLineActivity.java b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/GradientLineActivity.java
index 1ecbab0742..c5225ce96f 100644
--- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/GradientLineActivity.java
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/GradientLineActivity.java
@@ -7,6 +7,7 @@ import android.support.v7.app.AppCompatActivity;
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.LineLayer;
import com.mapbox.mapboxsdk.style.sources.GeoJsonOptions;
import com.mapbox.mapboxsdk.style.sources.GeoJsonSource;
@@ -35,7 +36,6 @@ import static com.mapbox.mapboxsdk.style.layers.PropertyFactory.lineWidth;
public class GradientLineActivity extends AppCompatActivity implements OnMapReadyCallback {
public static final String LINE_SOURCE = "gradient";
- private MapboxMap mapboxMap;
private MapView mapView;
@Override
@@ -49,25 +49,25 @@ public class GradientLineActivity extends AppCompatActivity implements OnMapRead
}
@Override
- public void onMapReady(@NonNull MapboxMap map) {
- this.mapboxMap = map;
-
+ public void onMapReady(@NonNull MapboxMap mapboxMap) {
try {
String geoJson = ResourceUtils.readRawResource(GradientLineActivity.this, R.raw.test_line_gradient_feature);
- mapboxMap.getStyle().addSource(new GeoJsonSource(LINE_SOURCE, geoJson, new GeoJsonOptions().withLineMetrics(true)));
- mapboxMap.getStyle().addLayer(new LineLayer("gradient", LINE_SOURCE)
- .withProperties(
- lineGradient(interpolate(
- linear(), lineProgress(),
- stop(0f, rgb(0, 0, 255)),
- stop(0.5f, rgb(0, 255, 0)),
- stop(1f, rgb(255, 0, 0)))
- ),
- lineColor(Color.RED),
- lineWidth(10.0f),
- lineCap(LINE_CAP_ROUND),
- lineJoin(LINE_JOIN_ROUND)
- )
+ mapboxMap.setStyle(new Style.Builder()
+ .fromJson(geoJson)
+ .withSource(new GeoJsonSource(LINE_SOURCE, geoJson, new GeoJsonOptions().withLineMetrics(true)))
+ .withLayer(new LineLayer("gradient", LINE_SOURCE)
+ .withProperties(
+ lineGradient(interpolate(
+ linear(), lineProgress(),
+ stop(0f, rgb(0, 0, 255)),
+ stop(0.5f, rgb(0, 255, 0)),
+ stop(1f, rgb(255, 0, 0)))
+ ),
+ lineColor(Color.RED),
+ lineWidth(10.0f),
+ lineCap(LINE_CAP_ROUND),
+ lineJoin(LINE_JOIN_ROUND)
+ ))
);
} catch (IOException exception) {
Timber.e(exception);
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 791f72ce24..d06f3e1644 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
@@ -13,6 +13,7 @@ import com.mapbox.mapboxsdk.geometry.LatLngBounds;
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.LineLayer;
import com.mapbox.mapboxsdk.style.sources.CustomGeometrySource;
import com.mapbox.mapboxsdk.style.sources.GeometryTileProvider;
@@ -34,7 +35,6 @@ public class GridSourceActivity extends AppCompatActivity implements OnMapReadyC
public static final String ID_GRID_LAYER = "grid_layer";
private MapView mapView;
- private MapboxMap mapboxMap;
// public for testing purposes
public CustomGeometrySource source;
@@ -102,19 +102,17 @@ public class GridSourceActivity extends AppCompatActivity implements OnMapReadyC
@Override
public void onMapReady(@NonNull final MapboxMap map) {
- mapboxMap = map;
-
- // add source
source = new CustomGeometrySource(ID_GRID_SOURCE, new GridProvider());
- mapboxMap.getStyle().addSource(source);
-
- // add layer
layer = new LineLayer(ID_GRID_LAYER, ID_GRID_SOURCE);
layer.setProperties(
lineColor(Color.parseColor("#000000"))
);
- mapboxMap.getStyle().addLayer(layer);
+ map.setStyle(new Style.Builder()
+ .fromUrl(Style.MAPBOX_STREETS)
+ .withLayer(layer)
+ .withSource(source)
+ );
}
@Override
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/HeatmapLayerActivity.java b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/HeatmapLayerActivity.java
index c8d83d433f..900a959666 100644
--- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/HeatmapLayerActivity.java
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/HeatmapLayerActivity.java
@@ -5,6 +5,7 @@ import android.support.v7.app.AppCompatActivity;
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.HeatmapLayer;
import com.mapbox.mapboxsdk.style.sources.GeoJsonSource;
@@ -53,13 +54,16 @@ public class HeatmapLayerActivity extends AppCompatActivity {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_heatmaplayer);
- mapView = (MapView) findViewById(R.id.mapView);
+ mapView = findViewById(R.id.mapView);
mapView.onCreate(savedInstanceState);
mapView.getMapAsync(map -> {
mapboxMap = map;
- addEarthquakeSource();
- addHeatmapLayer();
- addCircleLayer();
+
+ mapboxMap.setStyle(Style.DARK, style -> {
+ addEarthquakeSource();
+ addHeatmapLayer();
+ addCircleLayer();
+ });
});
}
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/HillshadeLayerActivity.java b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/HillshadeLayerActivity.java
index 601afa399d..072378d8b9 100644
--- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/HillshadeLayerActivity.java
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/HillshadeLayerActivity.java
@@ -5,6 +5,7 @@ import android.support.v7.app.AppCompatActivity;
import com.mapbox.mapboxsdk.maps.MapView;
import com.mapbox.mapboxsdk.maps.MapboxMap;
+import com.mapbox.mapboxsdk.maps.Style;
import com.mapbox.mapboxsdk.style.layers.HillshadeLayer;
import com.mapbox.mapboxsdk.style.sources.RasterDemSource;
import com.mapbox.mapboxsdk.testapp.R;
@@ -33,10 +34,12 @@ public class HillshadeLayerActivity extends AppCompatActivity {
mapboxMap = map;
RasterDemSource rasterDemSource = new RasterDemSource(SOURCE_ID, SOURCE_URL);
- mapboxMap.getStyle().addSource(rasterDemSource);
-
HillshadeLayer hillshadeLayer = new HillshadeLayer(LAYER_ID, SOURCE_ID);
- mapboxMap.getStyle().addLayerBelow(hillshadeLayer, LAYER_BELOW_ID);
+ mapboxMap.setStyle(new Style.Builder()
+ .fromUrl(Style.MAPBOX_STREETS)
+ .withLayer(hillshadeLayer)
+ .withSource(rasterDemSource)
+ );
});
}
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 301dbefa35..ad87073393 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
@@ -8,6 +8,7 @@ import android.support.v7.app.AppCompatActivity;
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.SymbolLayer;
import com.mapbox.mapboxsdk.style.sources.GeoJsonSource;
import com.mapbox.mapboxsdk.testapp.R;
@@ -51,22 +52,27 @@ public class RealTimeGeoJsonActivity extends AppCompatActivity implements OnMapR
public void onMapReady(@NonNull final MapboxMap map) {
mapboxMap = map;
- // add source
- try {
- mapboxMap.getStyle().addSource(new GeoJsonSource(ID_GEOJSON_SOURCE, new URL(URL_GEOJSON_SOURCE)));
- } catch (MalformedURLException malformedUrlException) {
- Timber.e(malformedUrlException, "Invalid URL");
- }
-
- // add layer
- SymbolLayer layer = new SymbolLayer(ID_GEOJSON_LAYER, ID_GEOJSON_SOURCE);
- layer.setProperties(iconImage("rocket-15"));
- mapboxMap.getStyle().addLayer(layer);
-
- // loop refresh geojson
- handler = new Handler();
- runnable = new RefreshGeoJsonRunnable(mapboxMap, handler);
- handler.postDelayed(runnable, 2000);
+ mapboxMap.setStyle(Style.MAPBOX_STREETS, new Style.OnStyleLoaded() {
+ @Override
+ public void onStyleLoaded(Style style) {
+ // add source
+ try {
+ style.addSource(new GeoJsonSource(ID_GEOJSON_SOURCE, new URL(URL_GEOJSON_SOURCE)));
+ } catch (MalformedURLException malformedUrlException) {
+ Timber.e(malformedUrlException, "Invalid URL");
+ }
+
+ // add layer
+ SymbolLayer layer = new SymbolLayer(ID_GEOJSON_LAYER, ID_GEOJSON_SOURCE);
+ layer.setProperties(iconImage("rocket-15"));
+ style.addLayer(layer);
+
+ // loop refresh geojson
+ handler = new Handler();
+ runnable = new RefreshGeoJsonRunnable(mapboxMap, handler);
+ handler.postDelayed(runnable, 2000);
+ }
+ });
}
@Override
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 8d5228113e..552cb8e41c 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
@@ -7,13 +7,13 @@ import android.support.v7.app.AppCompatActivity;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.Toast;
-
import com.mapbox.geojson.Feature;
import com.mapbox.geojson.FeatureCollection;
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;
@@ -30,14 +30,13 @@ import com.mapbox.mapboxsdk.style.sources.TileSet;
import com.mapbox.mapboxsdk.style.sources.VectorSource;
import com.mapbox.mapboxsdk.testapp.R;
import com.mapbox.mapboxsdk.testapp.utils.ResourceUtils;
+import timber.log.Timber;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
-import timber.log.Timber;
-
import static com.mapbox.mapboxsdk.style.expressions.Expression.all;
import static com.mapbox.mapboxsdk.style.expressions.Expression.color;
import static com.mapbox.mapboxsdk.style.expressions.Expression.eq;
@@ -75,6 +74,7 @@ public class RuntimeStyleActivity extends AppCompatActivity {
private MapView mapView;
private MapboxMap mapboxMap;
+ private boolean styleLoaded;
@Override
protected void onCreate(Bundle savedInstanceState) {
@@ -82,10 +82,9 @@ public class RuntimeStyleActivity extends AppCompatActivity {
setContentView(R.layout.activity_runtime_style);
// Initialize map as normal
- mapView = (MapView) findViewById(R.id.mapView);
+ mapView = findViewById(R.id.mapView);
mapView.onCreate(savedInstanceState);
-
mapView.getMapAsync(map -> {
// Store for later
mapboxMap = map;
@@ -93,8 +92,12 @@ public class RuntimeStyleActivity extends AppCompatActivity {
// Center and Zoom (Amsterdam, zoomed to streets)
mapboxMap.animateCamera(CameraUpdateFactory.newLatLngZoom(new LatLng(52.379189, 4.899431), 14));
- // set custom transition
- mapboxMap.getStyle().setTransition(new TransitionOptions(250, 50));
+ mapboxMap.setStyle(
+ new Style.Builder()
+ .fromUrl(Style.MAPBOX_STREETS)
+ // set custom transition
+ .withTransition(new TransitionOptions(250, 50)), style -> styleLoaded = true
+ );
});
}
@@ -148,6 +151,10 @@ public class RuntimeStyleActivity extends AppCompatActivity {
@Override
public boolean onOptionsItemSelected(MenuItem item) {
+ if (!styleLoaded) {
+ return false;
+ }
+
switch (item.getItemId()) {
case R.id.action_list_layers:
listLayers();
@@ -490,7 +497,7 @@ public class RuntimeStyleActivity extends AppCompatActivity {
}
private void styleFillFilterLayer() {
- mapboxMap.setStyleUrl("asset://fill_filter_style.json");
+ mapboxMap.setStyle(new Style.Builder().fromUrl("asset://fill_filter_style.json"));
mapboxMap.moveCamera(CameraUpdateFactory.newLatLngZoom(new LatLng(31, -100), 3));
Handler handler = new Handler(getMainLooper());
@@ -518,7 +525,7 @@ public class RuntimeStyleActivity extends AppCompatActivity {
}
private void styleLineFilterLayer() {
- mapboxMap.setStyleUrl("asset://line_filter_style.json");
+ mapboxMap.setStyle(new Style.Builder().fromUrl("asset://line_filter_style.json"));
mapboxMap.moveCamera(CameraUpdateFactory.newLatLngZoom(new LatLng(40, -97), 5));
Handler handler = new Handler(getMainLooper());
@@ -546,7 +553,7 @@ public class RuntimeStyleActivity extends AppCompatActivity {
}
private void styleNumericFillLayer() {
- mapboxMap.setStyleUrl("asset://numeric_filter_style.json");
+ mapboxMap.setStyle(new Style.Builder().fromUrl("asset://numeric_filter_style.json"));
mapboxMap.moveCamera(CameraUpdateFactory.newLatLngZoom(new LatLng(40, -97), 5));
Handler handler = new Handler(getMainLooper());
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 59703b3fb1..6fd92e2e5c 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
@@ -6,6 +6,7 @@ import android.support.v7.app.AppCompatActivity;
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.sources.VectorSource;
import com.mapbox.mapboxsdk.testapp.R;
@@ -33,8 +34,6 @@ public class RuntimeStyleTimingTestActivity extends AppCompatActivity {
mapView.onCreate(savedInstanceState);
mapView.getMapAsync(mapboxMap -> {
RuntimeStyleTimingTestActivity.this.mapboxMap = mapboxMap;
- VectorSource museums = new VectorSource("museums_source", "mapbox://mapbox.2opop9hr");
- mapboxMap.getStyle().addSource(museums);
CircleLayer museumsLayer = new CircleLayer("museums", "museums_source");
museumsLayer.setSourceLayer("museum-cusco");
@@ -44,7 +43,11 @@ public class RuntimeStyleTimingTestActivity extends AppCompatActivity {
circleColor(Color.argb(1, 55, 148, 179))
);
- mapboxMap.getStyle().addLayer(museumsLayer);
+ VectorSource museums = new VectorSource("museums_source", "mapbox://mapbox.2opop9hr");
+ mapboxMap.setStyle(new Style.Builder()
+ .fromUrl(Style.MAPBOX_STREETS)
+ .withSource(museums)
+ .withLayer(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..2d91fb8219 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(new Style.Builder().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(new Style.Builder().fromUrl("file://" + cacheStyleFile.getAbsolutePath()));
}
}
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 daf651807e..e1ec66cd1d 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
@@ -22,6 +22,7 @@ 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.style.layers.Property;
import com.mapbox.mapboxsdk.style.layers.SymbolLayer;
import com.mapbox.mapboxsdk.style.sources.GeoJsonSource;
@@ -72,6 +73,7 @@ public class SymbolLayerActivity extends AppCompatActivity implements MapboxMap.
private MapboxMap mapboxMap;
private MapView mapView;
private boolean initialFont;
+ private boolean styleLoaded;
@Override
public void onCreate(Bundle savedInstanceState) {
@@ -85,7 +87,6 @@ public class SymbolLayerActivity extends AppCompatActivity implements MapboxMap.
.zoom(13)
.build()
);
- mapboxMapOptions.styleUrl("asset://streets.json");
// Create map programmatically, add to view hierarchy
mapView = new MapView(this, mapboxMapOptions);
@@ -97,50 +98,50 @@ public class SymbolLayerActivity extends AppCompatActivity implements MapboxMap.
@Override
public void onMapReady(@NonNull MapboxMap mapboxMap) {
this.mapboxMap = mapboxMap;
-
- // Add a sdf image for the makers
+ // image
Drawable icLayersDrawable = getResources().getDrawable(R.drawable.ic_layers);
Bitmap icLayersBitmap = BitmapUtils.getBitmapFromDrawable(icLayersDrawable);
- mapboxMap.getStyle().addImage(
- MARKER_ICON,
- icLayersBitmap,
- true
- );
- // Add a source
+ // source
markerCollection = FeatureCollection.fromFeatures(new Feature[] {
Feature.fromGeometry(Point.fromLngLat(4.91638, 52.35673), featureProperties("Marker 1")),
Feature.fromGeometry(Point.fromLngLat(4.91638, 52.34673), featureProperties("Marker 2"))
});
- mapboxMap.getStyle().addSource(geoJsonSource = new GeoJsonSource(MARKER_SOURCE, markerCollection));
+ geoJsonSource = new GeoJsonSource(MARKER_SOURCE, markerCollection);
- // Add the symbol-layer
- mapboxMap.getStyle().addLayer(
- new SymbolLayer(MARKER_LAYER, MARKER_SOURCE)
- .withProperties(
- iconImage(MARKER_ICON),
- iconIgnorePlacement(true),
- iconAllowOverlap(true),
- iconSize(switchCase(toBool(get(SELECTED_FEATURE_PROPERTY)), literal(3.0f), literal(1.0f))),
- iconAnchor(Property.ICON_ANCHOR_BOTTOM),
- iconColor(Color.RED),
- textField(
- format(
- formatEntry("this is", formatFontScale(0.75)),
- formatEntry(
- concat(literal("\n"), get(TITLE_FEATURE_PROPERTY)),
- formatFontScale(1.25),
- formatTextFont(new String[] {"DIN Offc Pro Bold", "Arial Unicode MS Regular"})
- )
+ // layer
+ SymbolLayer layer = new SymbolLayer(MARKER_LAYER, MARKER_SOURCE)
+ .withProperties(
+ iconImage(MARKER_ICON),
+ iconIgnorePlacement(true),
+ iconAllowOverlap(true),
+ iconSize(switchCase(toBool(get(SELECTED_FEATURE_PROPERTY)), literal(3.0f), literal(1.0f))),
+ iconAnchor(Property.ICON_ANCHOR_BOTTOM),
+ iconColor(Color.RED),
+ textField(
+ format(
+ formatEntry("this is", formatFontScale(0.75)),
+ formatEntry(
+ concat(literal("\n"), get(TITLE_FEATURE_PROPERTY)),
+ formatFontScale(1.25),
+ formatTextFont(new String[] {"DIN Offc Pro Bold", "Arial Unicode MS Regular"})
)
- ),
- textFont(new String[] {"DIN Offc Pro Regular", "Arial Unicode MS Regular"}),
- textColor(Color.RED),
- textAllowOverlap(true),
- textIgnorePlacement(true),
- textAnchor(Property.TEXT_ANCHOR_TOP),
- textSize(10f)
- )
+ )
+ ),
+ textFont(new String[] {"DIN Offc Pro Regular", "Arial Unicode MS Regular"}),
+ textColor(Color.RED),
+ textAllowOverlap(true),
+ textIgnorePlacement(true),
+ textAnchor(Property.TEXT_ANCHOR_TOP),
+ textSize(10f)
+ );
+
+ mapboxMap.setStyle(new Style.Builder()
+ .fromUrl("asset://streets.json")
+ .withImage(MARKER_ICON, icLayersBitmap)
+ .withSource(geoJsonSource)
+ .withLayer(layer),
+ style -> styleLoaded = true
);
// Set a click-listener so we can manipulate the map
@@ -246,6 +247,10 @@ public class SymbolLayerActivity extends AppCompatActivity implements MapboxMap.
@Override
public boolean onOptionsItemSelected(MenuItem item) {
+ if (!styleLoaded) {
+ return super.onOptionsItemSelected(item);
+ }
+
switch (item.getItemId()) {
case R.id.action_toggle_text_size:
toggleTextSize();
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 27a89dd660..5d21a72cb5 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
@@ -76,14 +76,16 @@ public class ZoomFunctionSymbolLayerActivity extends AppCompatActivity {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_zoom_symbol_layer);
- mapView = (MapView) findViewById(R.id.mapView);
+ mapView = findViewById(R.id.mapView);
mapView.onCreate(savedInstanceState);
mapView.getMapAsync(map -> {
mapboxMap = map;
- Style style = map.getStyle();
- updateSource(style);
- addLayer(style);
- map.addOnMapClickListener(mapClickListener);
+
+ map.setStyle(Style.MAPBOX_STREETS, style -> {
+ updateSource(style);
+ addLayer(style);
+ map.addOnMapClickListener(mapClickListener);
+ });
});
}