diff options
Diffstat (limited to 'platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/CustomSpriteActivity.java')
-rw-r--r-- | platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/CustomSpriteActivity.java | 87 |
1 files changed, 45 insertions, 42 deletions
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()))); + } } - } + }); }); }); } |