diff options
author | tobrun <tobrun.van.nuland@gmail.com> | 2019-05-14 12:12:08 +0200 |
---|---|---|
committer | tobrun <tobrun.van.nuland@gmail.com> | 2019-05-14 12:12:08 +0200 |
commit | c31b7348eedeb41ec19f5acc23fb87cc8caec4fe (patch) | |
tree | c545d7b0cd80aabc48b79ce2c6c95770e9ac653a /platform/android/MapboxGLAndroidSDKTestApp/src/main | |
parent | 1112a8f957c79a7a335979ff87b84773117e0170 (diff) | |
download | qtlocation-mapboxgl-upstream/tnv-remove-annotations.tar.gz |
[android] - remove annotationsupstream/tnv-remove-annotations
Diffstat (limited to 'platform/android/MapboxGLAndroidSDKTestApp/src/main')
32 files changed, 153 insertions, 1895 deletions
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/AndroidManifest.xml b/platform/android/MapboxGLAndroidSDKTestApp/src/main/AndroidManifest.xml index 18fbf33cc8..84adacd2f5 100644 --- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/AndroidManifest.xml +++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/AndroidManifest.xml @@ -26,52 +26,7 @@ </intent-filter> </activity> <activity - android:name=".activity.infowindow.InfoWindowActivity" - android:description="@string/description_info_window" - android:label="@string/activity_info_window"> - <meta-data - android:name="@string/category" - android:value="@string/category_infowindow" /> - <meta-data - android:name="android.support.PARENT_ACTIVITY" - android:value=".activity.FeatureOverviewActivity" /> - </activity> - <activity - android:name=".activity.infowindow.InfoWindowAdapterActivity" - android:description="@string/description_info_window_adapter" - android:label="@string/activity_infowindow_adapter"> - <meta-data - android:name="@string/category" - android:value="@string/category_infowindow" /> - <meta-data - android:name="android.support.PARENT_ACTIVITY" - android:value=".activity.FeatureOverviewActivity" /> - </activity> - <activity - android:name=".activity.infowindow.DynamicInfoWindowAdapterActivity" - android:description="@string/description_dynamic_info_window_adapter" - android:label="@string/activity_dynamic_infowindow_adapter"> - <meta-data - android:name="@string/category" - android:value="@string/category_infowindow" /> - <meta-data - android:name="android.support.PARENT_ACTIVITY" - android:value=".activity.FeatureOverviewActivity" /> - </activity> - <activity - android:name=".activity.annotation.BulkMarkerActivity" - android:configChanges="orientation|keyboardHidden|screenSize" - android:description="@string/description_add_bulk_markers" - android:label="@string/activity_add_bulk_markers"> - <meta-data - android:name="@string/category" - android:value="@string/category_annotation" /> - <meta-data - android:name="android.support.PARENT_ACTIVITY" - android:value=".activity.FeatureOverviewActivity" /> - </activity> - <activity - android:name=".activity.annotation.AnimatedSymbolLayerActivity" + android:name=".activity.style.AnimatedSymbolLayerActivity" android:description="@string/description_animated_symbollayer" android:label="@string/activity_animated_symbollayer"> <meta-data @@ -82,28 +37,6 @@ android:value=".activity.FeatureOverviewActivity" /> </activity> <activity - android:name=".activity.annotation.DynamicMarkerChangeActivity" - android:description="@string/description_dynamic_marker" - android:label="@string/activity_dynamic_marker"> - <meta-data - android:name="@string/category" - android:value="@string/category_annotation" /> - <meta-data - android:name="android.support.PARENT_ACTIVITY" - android:value=".activity.FeatureOverviewActivity" /> - </activity> - <activity - android:name=".activity.annotation.PressForMarkerActivity" - android:description="@string/description_press_for_marker" - android:label="@string/activity_press_for_marker"> - <meta-data - android:name="@string/category" - android:value="@string/category_annotation" /> - <meta-data - android:name="android.support.PARENT_ACTIVITY" - android:value=".activity.FeatureOverviewActivity" /> - </activity> - <activity android:name=".activity.camera.CameraAnimationTypeActivity" android:description="@string/description_camera_animation_types" android:label="@string/activity_camera_animation_types"> @@ -228,28 +161,6 @@ android:value=".activity.FeatureOverviewActivity" /> </activity> <activity - android:name=".activity.annotation.PolygonActivity" - android:description="@string/description_polygon" - android:label="@string/activity_polygon"> - <meta-data - android:name="@string/category" - android:value="@string/category_annotation" /> - <meta-data - android:name="android.support.PARENT_ACTIVITY" - android:value=".activity.FeatureOverviewActivity" /> - </activity> - <activity - android:name=".activity.annotation.PolylineActivity" - android:description="@string/description_polyline" - android:label="@string/activity_polyline"> - <meta-data - android:name="@string/category" - android:value="@string/category_annotation" /> - <meta-data - android:name="android.support.PARENT_ACTIVITY" - android:value=".activity.FeatureOverviewActivity" /> - </activity> - <activity android:name=".activity.camera.ScrollByActivity" android:description="@string/description_scroll_by" android:label="@string/activity_scroll_by" diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/annotation/BulkMarkerActivity.java b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/annotation/BulkMarkerActivity.java deleted file mode 100644 index 05337081dc..0000000000 --- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/annotation/BulkMarkerActivity.java +++ /dev/null @@ -1,200 +0,0 @@ -package com.mapbox.mapboxsdk.testapp.activity.annotation; - -import android.app.ProgressDialog; -import android.os.AsyncTask; -import android.os.Bundle; -import android.support.v4.view.MenuItemCompat; -import android.support.v7.app.AppCompatActivity; -import android.view.Menu; -import android.view.MenuItem; -import android.view.View; -import android.widget.AdapterView; -import android.widget.ArrayAdapter; -import android.widget.Spinner; -import com.mapbox.mapboxsdk.annotations.MarkerOptions; -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.testapp.R; -import com.mapbox.mapboxsdk.testapp.utils.GeoParseUtil; -import timber.log.Timber; - -import java.io.IOException; -import java.lang.ref.WeakReference; -import java.text.DecimalFormat; -import java.util.ArrayList; -import java.util.List; -import java.util.Random; - -/** - * Test activity showcasing adding a large amount of Markers. - */ -public class BulkMarkerActivity extends AppCompatActivity implements AdapterView.OnItemSelectedListener { - - private MapboxMap mapboxMap; - private MapView mapView; - private List<LatLng> locations; - private ProgressDialog progressDialog; - - @Override - protected void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - setContentView(R.layout.activity_marker_bulk); - - mapView = findViewById(R.id.mapView); - mapView.onCreate(savedInstanceState); - mapView.getMapAsync(this::initMap); - } - - private void initMap(MapboxMap mapboxMap) { - this.mapboxMap = mapboxMap; - mapboxMap.setStyle(Style.MAPBOX_STREETS); - } - - @Override - public boolean onCreateOptionsMenu(Menu menu) { - ArrayAdapter<CharSequence> spinnerAdapter = ArrayAdapter.createFromResource( - this, R.array.bulk_marker_list, android.R.layout.simple_spinner_item); - spinnerAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); - getMenuInflater().inflate(R.menu.menu_bulk_marker, menu); - MenuItem item = menu.findItem(R.id.spinner); - Spinner spinner = (Spinner) MenuItemCompat.getActionView(item); - spinner.setAdapter(spinnerAdapter); - spinner.setOnItemSelectedListener(BulkMarkerActivity.this); - return true; - } - - @Override - public void onItemSelected(AdapterView<?> parent, View view, int position, long id) { - int amount = Integer.valueOf(getResources().getStringArray(R.array.bulk_marker_list)[position]); - if (locations == null) { - progressDialog = ProgressDialog.show(this, "Loading", "Fetching markers", false); - new LoadLocationTask(this, amount).execute(); - } else { - showMarkers(amount); - } - } - - private void onLatLngListLoaded(List<LatLng> latLngs, int amount) { - progressDialog.hide(); - locations = latLngs; - showMarkers(amount); - } - - private void showMarkers(int amount) { - if (mapboxMap == null || locations == null || mapView.isDestroyed()) { - return; - } - - mapboxMap.clear(); - if (locations.size() < amount) { - amount = locations.size(); - } - - showGlMarkers(amount); - } - - private void showGlMarkers(int amount) { - List<MarkerOptions> markerOptionsList = new ArrayList<>(); - DecimalFormat formatter = new DecimalFormat("#.#####"); - Random random = new Random(); - int randomIndex; - - for (int i = 0; i < amount; i++) { - randomIndex = random.nextInt(locations.size()); - LatLng latLng = locations.get(randomIndex); - markerOptionsList.add(new MarkerOptions() - .position(latLng) - .title(String.valueOf(i)) - .snippet(formatter.format(latLng.getLatitude()) + ", " + formatter.format(latLng.getLongitude()))); - } - - mapboxMap.addMarkers(markerOptionsList); - } - - @Override - public void onNothingSelected(AdapterView<?> parent) { - // nothing selected, nothing to do! - } - - @Override - protected void onStart() { - super.onStart(); - mapView.onStart(); - } - - @Override - protected void onResume() { - super.onResume(); - mapView.onResume(); - } - - @Override - protected void onPause() { - super.onPause(); - mapView.onPause(); - } - - @Override - protected void onStop() { - super.onStop(); - mapView.onStop(); - } - - @Override - protected void onSaveInstanceState(Bundle outState) { - super.onSaveInstanceState(outState); - mapView.onSaveInstanceState(outState); - } - - @Override - protected void onDestroy() { - super.onDestroy(); - mapView.onDestroy(); - } - - @Override - public void onLowMemory() { - super.onLowMemory(); - mapView.onLowMemory(); - } - - private static class LoadLocationTask extends AsyncTask<Void, Integer, List<LatLng>> { - - private WeakReference<BulkMarkerActivity> activity; - private int amount; - - private LoadLocationTask(BulkMarkerActivity activity, int amount) { - this.amount = amount; - this.activity = new WeakReference<>(activity); - } - - @Override - protected List<LatLng> doInBackground(Void... params) { - BulkMarkerActivity activity = this.activity.get(); - if (activity != null) { - String json = null; - try { - json = GeoParseUtil.loadStringFromAssets(activity.getApplicationContext(), "points.geojson"); - } catch (IOException exception) { - Timber.e(exception, "Could not add markers"); - } - - if (json != null) { - return GeoParseUtil.parseGeoJsonCoordinates(json); - } - } - return null; - } - - @Override - protected void onPostExecute(List<LatLng> locations) { - super.onPostExecute(locations); - BulkMarkerActivity activity = this.activity.get(); - if (activity != null) { - activity.onLatLngListLoaded(locations, amount); - } - } - } -} diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/annotation/DynamicMarkerChangeActivity.java b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/annotation/DynamicMarkerChangeActivity.java deleted file mode 100644 index b10332dd6d..0000000000 --- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/annotation/DynamicMarkerChangeActivity.java +++ /dev/null @@ -1,120 +0,0 @@ -package com.mapbox.mapboxsdk.testapp.activity.annotation; - -import android.os.Bundle; -import android.support.design.widget.FloatingActionButton; -import android.support.v4.content.ContextCompat; -import android.support.v4.content.res.ResourcesCompat; -import android.support.v7.app.AppCompatActivity; - -import com.mapbox.mapboxsdk.annotations.Marker; -import com.mapbox.mapboxsdk.annotations.MarkerOptions; -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.testapp.R; -import com.mapbox.mapboxsdk.testapp.utils.IconUtils; - -/** - * Test activity showcasing updating a Marker position, title, icon and snippet. - */ -public class DynamicMarkerChangeActivity extends AppCompatActivity { - - private static final LatLng LAT_LNG_CHELSEA = new LatLng(51.481670, -0.190849); - private static final LatLng LAT_LNG_ARSENAL = new LatLng(51.555062, -0.108417); - - private MapView mapView; - private MapboxMap mapboxMap; - private Marker marker; - - @Override - protected void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - setContentView(R.layout.activity_dynamic_marker); - - mapView = findViewById(R.id.mapView); - mapView.setTag(false); - mapView.onCreate(savedInstanceState); - mapView.getMapAsync(mapboxMap -> { - mapboxMap.setStyle(Style.MAPBOX_STREETS); - - DynamicMarkerChangeActivity.this.mapboxMap = mapboxMap; - // Create marker - MarkerOptions markerOptions = new MarkerOptions() - .position(LAT_LNG_CHELSEA) - .icon(IconUtils.drawableToIcon(DynamicMarkerChangeActivity.this, R.drawable.ic_stars, - ResourcesCompat.getColor(getResources(), R.color.blueAccent, getTheme()))) - .title(getString(R.string.dynamic_marker_chelsea_title)) - .snippet(getString(R.string.dynamic_marker_chelsea_snippet)); - marker = mapboxMap.addMarker(markerOptions); - }); - - FloatingActionButton fab = findViewById(R.id.fab); - fab.setColorFilter(ContextCompat.getColor(this, R.color.primary)); - fab.setOnClickListener(view -> { - if (mapboxMap != null) { - updateMarker(); - } - }); - } - - private void updateMarker() { - // update model - boolean first = (boolean) mapView.getTag(); - mapView.setTag(!first); - - // update marker - marker.setPosition(first ? LAT_LNG_CHELSEA : LAT_LNG_ARSENAL); - marker.setIcon(IconUtils.drawableToIcon(this, R.drawable.ic_stars, first - ? ResourcesCompat.getColor(getResources(), R.color.blueAccent, getTheme()) : - ResourcesCompat.getColor(getResources(), R.color.redAccent, getTheme()) - )); - - marker.setTitle(first - ? getString(R.string.dynamic_marker_chelsea_title) : getString(R.string.dynamic_marker_arsenal_title)); - marker.setSnippet(first - ? getString(R.string.dynamic_marker_chelsea_snippet) : getString(R.string.dynamic_marker_arsenal_snippet)); - } - - @Override - protected void onStart() { - super.onStart(); - mapView.onStart(); - } - - @Override - protected void onResume() { - super.onResume(); - mapView.onResume(); - } - - @Override - protected void onPause() { - super.onPause(); - mapView.onPause(); - } - - @Override - protected void onStop() { - super.onStop(); - mapView.onStop(); - } - - @Override - protected void onSaveInstanceState(Bundle outState) { - super.onSaveInstanceState(outState); - mapView.onSaveInstanceState(outState); - } - - @Override - protected void onDestroy() { - super.onDestroy(); - mapView.onDestroy(); - } - - @Override - public void onLowMemory() { - super.onLowMemory(); - mapView.onLowMemory(); - } -} 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 deleted file mode 100644 index fe71020eb2..0000000000 --- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/annotation/PolygonActivity.java +++ /dev/null @@ -1,219 +0,0 @@ -package com.mapbox.mapboxsdk.testapp.activity.annotation; - -import android.graphics.Color; -import android.os.Bundle; -import android.support.annotation.NonNull; -import android.support.v7.app.AppCompatActivity; -import android.view.Menu; -import android.view.MenuItem; -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.maps.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.testapp.R; - -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; - -import static com.mapbox.mapboxsdk.testapp.activity.annotation.PolygonActivity.Config.BLUE_COLOR; -import static com.mapbox.mapboxsdk.testapp.activity.annotation.PolygonActivity.Config.BROKEN_SHAPE_POINTS; -import static com.mapbox.mapboxsdk.testapp.activity.annotation.PolygonActivity.Config.FULL_ALPHA; -import static com.mapbox.mapboxsdk.testapp.activity.annotation.PolygonActivity.Config.NO_ALPHA; -import static com.mapbox.mapboxsdk.testapp.activity.annotation.PolygonActivity.Config.PARTIAL_ALPHA; -import static com.mapbox.mapboxsdk.testapp.activity.annotation.PolygonActivity.Config.RED_COLOR; -import static com.mapbox.mapboxsdk.testapp.activity.annotation.PolygonActivity.Config.STAR_SHAPE_HOLES; -import static com.mapbox.mapboxsdk.testapp.activity.annotation.PolygonActivity.Config.STAR_SHAPE_POINTS; - -/** - * Test activity to showcase the Polygon annotation API & programmatically creating a MapView. - * <p> - * Shows how to change Polygon features as visibility, alpha, color and points. - * </p> - */ -public class PolygonActivity extends AppCompatActivity implements OnMapReadyCallback { - - private MapView mapView; - private MapboxMap mapboxMap; - - private Polygon polygon; - private boolean fullAlpha = true; - private boolean visible = true; - private boolean color = true; - private boolean allPoints = true; - private boolean holes = false; - - @Override - protected void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - - // configure inital map state - MapboxMapOptions options = new MapboxMapOptions() - .attributionTintColor(RED_COLOR) - .compassFadesWhenFacingNorth(false) - .camera(new CameraPosition.Builder() - .target(new LatLng(45.520486, -122.673541)) - .zoom(12) - .tilt(40) - .build()); - - // create map - mapView = new MapView(this, options); - mapView.setId(R.id.mapView); - mapView.onCreate(savedInstanceState); - mapView.getMapAsync(this); - - setContentView(mapView); - } - - @Override - public void onMapReady(@NonNull MapboxMap map) { - mapboxMap = map; - map.setStyle(Style.MAPBOX_STREETS); - - map.setOnPolygonClickListener(polygon -> Toast.makeText( - PolygonActivity.this, - "You clicked on polygon with id = " + polygon.getId(), - Toast.LENGTH_SHORT - ).show()); - - polygon = mapboxMap.addPolygon(new PolygonOptions() - .addAll(STAR_SHAPE_POINTS) - .fillColor(BLUE_COLOR)); - } - - @Override - protected void onStart() { - super.onStart(); - mapView.onStart(); - } - - @Override - protected void onResume() { - super.onResume(); - mapView.onResume(); - } - - @Override - protected void onPause() { - super.onPause(); - mapView.onPause(); - } - - @Override - protected void onStop() { - super.onStop(); - mapView.onStop(); - } - - @Override - protected void onSaveInstanceState(Bundle outState) { - super.onSaveInstanceState(outState); - mapView.onSaveInstanceState(outState); - } - - @Override - protected void onDestroy() { - super.onDestroy(); - mapView.onDestroy(); - } - - @Override - public void onLowMemory() { - super.onLowMemory(); - mapView.onLowMemory(); - } - - @Override - public boolean onOptionsItemSelected(MenuItem item) { - switch (item.getItemId()) { - case R.id.action_id_alpha: - fullAlpha = !fullAlpha; - polygon.setAlpha(fullAlpha ? FULL_ALPHA : PARTIAL_ALPHA); - return true; - case R.id.action_id_visible: - visible = !visible; - polygon.setAlpha(visible ? (fullAlpha ? FULL_ALPHA : PARTIAL_ALPHA) : NO_ALPHA); - return true; - case R.id.action_id_points: - allPoints = !allPoints; - polygon.setPoints(allPoints ? STAR_SHAPE_POINTS : BROKEN_SHAPE_POINTS); - return true; - case R.id.action_id_color: - color = !color; - polygon.setFillColor(color ? BLUE_COLOR : RED_COLOR); - return true; - case R.id.action_id_holes: - holes = !holes; - polygon.setHoles(holes ? STAR_SHAPE_HOLES : Collections.<List<LatLng>>emptyList()); - return true; - default: - return super.onOptionsItemSelected(item); - } - } - - @Override - public boolean onCreateOptionsMenu(Menu menu) { - getMenuInflater().inflate(R.menu.menu_polygon, menu); - return true; - } - - static final class Config { - static final int BLUE_COLOR = Color.parseColor("#3bb2d0"); - static final int RED_COLOR = Color.parseColor("#AF0000"); - - static final float FULL_ALPHA = 1.0f; - static final float PARTIAL_ALPHA = 0.5f; - static final float NO_ALPHA = 0.0f; - - static final List<LatLng> STAR_SHAPE_POINTS = new ArrayList<LatLng>() { - { - add(new LatLng(45.522585, -122.685699)); - add(new LatLng(45.534611, -122.708873)); - add(new LatLng(45.530883, -122.678833)); - add(new LatLng(45.547115, -122.667503)); - add(new LatLng(45.530643, -122.660121)); - add(new LatLng(45.533529, -122.636260)); - add(new LatLng(45.521743, -122.659091)); - add(new LatLng(45.510677, -122.648792)); - add(new LatLng(45.515008, -122.664070)); - add(new LatLng(45.502496, -122.669048)); - add(new LatLng(45.515369, -122.678489)); - add(new LatLng(45.506346, -122.702007)); - add(new LatLng(45.522585, -122.685699)); - } - }; - - static final List<LatLng> BROKEN_SHAPE_POINTS = - STAR_SHAPE_POINTS.subList(0, STAR_SHAPE_POINTS.size() - 3); - - static final List<? extends List<LatLng>> STAR_SHAPE_HOLES = new ArrayList<List<LatLng>>() { - { - add(new ArrayList<>(new ArrayList<LatLng>() { - { - add(new LatLng(45.521743, -122.669091)); - add(new LatLng(45.530483, -122.676833)); - add(new LatLng(45.520483, -122.676833)); - add(new LatLng(45.521743, -122.669091)); - } - })); - add(new ArrayList<>(new ArrayList<LatLng>() { - { - add(new LatLng(45.529743, -122.662791)); - add(new LatLng(45.525543, -122.662791)); - add(new LatLng(45.525543, -122.660)); - add(new LatLng(45.527743, -122.660)); - add(new LatLng(45.529743, -122.662791)); - } - })); - } - }; - } -} diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/annotation/PolylineActivity.java b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/annotation/PolylineActivity.java deleted file mode 100644 index 855b686691..0000000000 --- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/annotation/PolylineActivity.java +++ /dev/null @@ -1,224 +0,0 @@ -package com.mapbox.mapboxsdk.testapp.activity.annotation; - -import android.graphics.Color; -import android.os.Bundle; -import android.support.v7.app.AppCompatActivity; -import android.view.Menu; -import android.view.MenuItem; -import android.view.View; -import android.widget.Toast; - -import com.mapbox.mapboxsdk.annotations.Polyline; -import com.mapbox.mapboxsdk.annotations.PolylineOptions; -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.testapp.R; - -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; - -/** - * Test activity showcasing the Polyline annotations API. - * <p> - * Shows how to add and remove polylines. - * </p> - */ -public class PolylineActivity extends AppCompatActivity { - - private static final String STATE_POLYLINE_OPTIONS = "polylineOptions"; - - private static final LatLng ANDORRA = new LatLng(42.505777, 1.52529); - private static final LatLng LUXEMBOURG = new LatLng(49.815273, 6.129583); - private static final LatLng MONACO = new LatLng(43.738418, 7.424616); - private static final LatLng VATICAN_CITY = new LatLng(41.902916, 12.453389); - private static final LatLng SAN_MARINO = new LatLng(43.942360, 12.457777); - private static final LatLng LIECHTENSTEIN = new LatLng(47.166000, 9.555373); - - private static final float FULL_ALPHA = 1.0f; - private static final float PARTIAL_ALPHA = 0.5f; - private static final float NO_ALPHA = 0.0f; - - private List<Polyline> polylines; - private ArrayList<PolylineOptions> polylineOptions = new ArrayList<>(); - private MapView mapView; - private MapboxMap mapboxMap; - - private boolean fullAlpha = true; - private boolean visible = true; - private boolean width = true; - private boolean color = true; - - @Override - protected void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - setContentView(R.layout.activity_polyline); - - if (savedInstanceState != null) { - polylineOptions = savedInstanceState.getParcelableArrayList(STATE_POLYLINE_OPTIONS); - } else { - polylineOptions.addAll(getAllPolylines()); - } - - mapView = findViewById(R.id.mapView); - mapView.onCreate(savedInstanceState); - mapView.getMapAsync(mapboxMap -> { - PolylineActivity.this.mapboxMap = mapboxMap; - mapboxMap.setStyle(Style.SATELLITE_STREETS); - mapboxMap.setOnPolylineClickListener(polyline -> Toast.makeText( - PolylineActivity.this, - "You clicked on polyline with id = " + polyline.getId(), - Toast.LENGTH_SHORT - ).show()); - - polylines = mapboxMap.addPolylines(polylineOptions); - }); - - View fab = findViewById(R.id.fab); - if (fab != null) { - fab.setOnClickListener(view -> { - if (mapboxMap != null) { - if (polylines != null && polylines.size() > 0) { - if (polylines.size() == 1) { - // test for removing annotation - mapboxMap.removeAnnotation(polylines.get(0)); - } else { - // test for removing annotations - mapboxMap.removeAnnotations(polylines); - } - } - polylineOptions.clear(); - polylineOptions.addAll(getRandomLine()); - polylines = mapboxMap.addPolylines(polylineOptions); - - } - }); - } - } - - private List<PolylineOptions> getAllPolylines() { - List<PolylineOptions> options = new ArrayList<>(); - options.add(generatePolyline(ANDORRA, LUXEMBOURG, "#F44336")); - options.add(generatePolyline(ANDORRA, MONACO, "#FF5722")); - options.add(generatePolyline(MONACO, VATICAN_CITY, "#673AB7")); - options.add(generatePolyline(VATICAN_CITY, SAN_MARINO, "#009688")); - options.add(generatePolyline(SAN_MARINO, LIECHTENSTEIN, "#795548")); - options.add(generatePolyline(LIECHTENSTEIN, LUXEMBOURG, "#3F51B5")); - return options; - } - - private PolylineOptions generatePolyline(LatLng start, LatLng end, String color) { - PolylineOptions line = new PolylineOptions(); - line.add(start); - line.add(end); - line.color(Color.parseColor(color)); - return line; - } - - public List<PolylineOptions> getRandomLine() { - final List<PolylineOptions> randomLines = getAllPolylines(); - Collections.shuffle(randomLines); - return new ArrayList<PolylineOptions>() { - { - add(randomLines.get(0)); - } - }; - } - - @Override - protected void onStart() { - super.onStart(); - mapView.onStart(); - } - - @Override - protected void onResume() { - super.onResume(); - mapView.onResume(); - } - - @Override - protected void onPause() { - super.onPause(); - mapView.onPause(); - } - - @Override - protected void onStop() { - super.onStop(); - mapView.onStop(); - } - - @Override - protected void onSaveInstanceState(Bundle outState) { - super.onSaveInstanceState(outState); - mapView.onSaveInstanceState(outState); - outState.putParcelableArrayList(STATE_POLYLINE_OPTIONS, polylineOptions); - } - - @Override - protected void onDestroy() { - super.onDestroy(); - mapView.onDestroy(); - } - - @Override - public void onLowMemory() { - super.onLowMemory(); - mapView.onLowMemory(); - } - - @Override - public boolean onCreateOptionsMenu(Menu menu) { - getMenuInflater().inflate(R.menu.menu_polyline, menu); - return super.onCreateOptionsMenu(menu); - } - - @Override - public boolean onOptionsItemSelected(MenuItem item) { - if (polylines.size() <= 0) { - Toast.makeText(PolylineActivity.this, "No polylines on map", Toast.LENGTH_LONG).show(); - return super.onOptionsItemSelected(item); - } - switch (item.getItemId()) { - case R.id.action_id_remove: - // test to remove all annotations - polylineOptions.clear(); - mapboxMap.clear(); - polylines.clear(); - return true; - - case R.id.action_id_alpha: - fullAlpha = !fullAlpha; - for (Polyline p : polylines) { - p.setAlpha(fullAlpha ? FULL_ALPHA : PARTIAL_ALPHA); - } - return true; - - case R.id.action_id_color: - color = !color; - for (Polyline p : polylines) { - p.setColor(color ? Color.RED : Color.BLUE); - } - return true; - - case R.id.action_id_width: - width = !width; - for (Polyline p : polylines) { - p.setWidth(width ? 3.0f : 5.0f); - } - return true; - - case R.id.action_id_visible: - visible = !visible; - for (Polyline p : polylines) { - p.setAlpha(visible ? (fullAlpha ? FULL_ALPHA : PARTIAL_ALPHA) : NO_ALPHA); - } - return true; - default: - return super.onOptionsItemSelected(item); - } - } -} diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/annotation/PressForMarkerActivity.java b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/annotation/PressForMarkerActivity.java deleted file mode 100644 index 5bd59507a9..0000000000 --- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/annotation/PressForMarkerActivity.java +++ /dev/null @@ -1,151 +0,0 @@ -package com.mapbox.mapboxsdk.testapp.activity.annotation; - -import android.graphics.PointF; -import android.os.Bundle; -import android.support.annotation.Nullable; -import android.support.v7.app.AppCompatActivity; -import android.view.Menu; -import android.view.MenuItem; - -import com.mapbox.mapboxsdk.annotations.MarkerOptions; -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.testapp.R; - -import java.text.DecimalFormat; -import java.util.ArrayList; - -/** - * Test activity showcasing to add a Marker on click. - * <p> - * Shows how to use a OnMapClickListener and a OnMapLongClickListener - * </p> - */ -public class PressForMarkerActivity extends AppCompatActivity { - - private MapView mapView; - private MapboxMap mapboxMap; - private ArrayList<MarkerOptions> markerList = new ArrayList<>(); - - private static final DecimalFormat LAT_LON_FORMATTER = new DecimalFormat("#.#####"); - - private static String STATE_MARKER_LIST = "markerList"; - - @Override - protected void onCreate(@Nullable final Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - setContentView(R.layout.activity_press_for_marker); - - mapView = (MapView) findViewById(R.id.mapView); - mapView.onCreate(savedInstanceState); - mapView.getMapAsync(map -> { - mapboxMap = map; - resetMap(); - - mapboxMap.addOnMapLongClickListener(point -> { - addMarker(point); - return false; - }); - - mapboxMap.addOnMapClickListener(point -> { - addMarker(point); - return false; - }); - - mapboxMap.setStyle(Style.MAPBOX_STREETS); - - if (savedInstanceState != null) { - markerList = savedInstanceState.getParcelableArrayList(STATE_MARKER_LIST); - if (markerList != null) { - mapboxMap.addMarkers(markerList); - } - } - }); - } - - private void addMarker(LatLng point) { - final PointF pixel = mapboxMap.getProjection().toScreenLocation(point); - - String title = LAT_LON_FORMATTER.format(point.getLatitude()) + ", " - + LAT_LON_FORMATTER.format(point.getLongitude()); - String snippet = "X = " + (int) pixel.x + ", Y = " + (int) pixel.y; - - MarkerOptions marker = new MarkerOptions() - .position(point) - .title(title) - .snippet(snippet); - - markerList.add(marker); - mapboxMap.addMarker(marker); - } - - private void resetMap() { - if (mapboxMap == null) { - return; - } - mapboxMap.removeAnnotations(); - } - - @Override - public boolean onCreateOptionsMenu(Menu menu) { - getMenuInflater().inflate(R.menu.menu_press_for_marker, menu); - return true; - } - - @Override - protected void onSaveInstanceState(Bundle outState) { - super.onSaveInstanceState(outState); - - mapView.onSaveInstanceState(outState); - outState.putParcelableArrayList(STATE_MARKER_LIST, markerList); - } - - @Override - protected void onStart() { - super.onStart(); - mapView.onStart(); - } - - @Override - protected void onResume() { - super.onResume(); - mapView.onResume(); - } - - @Override - protected void onPause() { - super.onPause(); - mapView.onPause(); - } - - @Override - protected void onStop() { - super.onStop(); - mapView.onStop(); - } - - @Override - protected void onDestroy() { - super.onDestroy(); - mapView.onDestroy(); - } - - @Override - public void onLowMemory() { - super.onLowMemory(); - mapView.onLowMemory(); - } - - @Override - public boolean onOptionsItemSelected(MenuItem item) { - switch (item.getItemId()) { - case R.id.menuItemReset: - resetMap(); - return true; - default: - return super.onOptionsItemSelected(item); - } - } -} diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/camera/GestureDetectorActivity.java b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/camera/GestureDetectorActivity.java index ed5364655e..018bda2251 100644 --- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/camera/GestureDetectorActivity.java +++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/camera/GestureDetectorActivity.java @@ -1,5 +1,6 @@ package com.mapbox.mapboxsdk.testapp.activity.camera; +import android.graphics.Bitmap; import android.graphics.Typeface; import android.os.Bundle; import android.os.Handler; @@ -8,6 +9,7 @@ import android.support.annotation.IntDef; import android.support.annotation.NonNull; import android.support.annotation.Nullable; import android.support.v4.content.ContextCompat; +import android.support.v4.content.res.ResourcesCompat; import android.support.v7.app.AppCompatActivity; import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.RecyclerView; @@ -18,28 +20,30 @@ import android.view.View; import android.view.ViewGroup; import android.widget.RelativeLayout; import android.widget.TextView; - import com.mapbox.android.gestures.AndroidGesturesManager; import com.mapbox.android.gestures.MoveGestureDetector; import com.mapbox.android.gestures.RotateGestureDetector; import com.mapbox.android.gestures.ShoveGestureDetector; import com.mapbox.android.gestures.StandardScaleGestureDetector; -import com.mapbox.mapboxsdk.annotations.Marker; -import com.mapbox.mapboxsdk.annotations.MarkerOptions; +import com.mapbox.geojson.Point; 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.maps.UiSettings; +import com.mapbox.mapboxsdk.style.layers.SymbolLayer; +import com.mapbox.mapboxsdk.style.sources.GeoJsonSource; import com.mapbox.mapboxsdk.testapp.R; import com.mapbox.mapboxsdk.testapp.utils.FontCache; import com.mapbox.mapboxsdk.testapp.utils.ResourceUtils; +import com.mapbox.mapboxsdk.utils.BitmapUtils; import java.lang.annotation.Retention; import java.util.ArrayList; import java.util.List; +import static com.mapbox.mapboxsdk.style.layers.PropertyFactory.iconImage; import static java.lang.annotation.RetentionPolicy.SOURCE; /** @@ -48,17 +52,18 @@ import static java.lang.annotation.RetentionPolicy.SOURCE; public class GestureDetectorActivity extends AppCompatActivity { private static final int MAX_NUMBER_OF_ALERTS = 30; + private static final String SYMBOL_LAYER_ID = "symbol-layer-id"; + private static final String SYMBOL_SOURCE_ID = "symbol-source-id"; private MapView mapView; private MapboxMap mapboxMap; private RecyclerView recyclerView; private GestureAlertsAdapter gestureAlertsAdapter; - private AndroidGesturesManager gesturesManager; + private GeoJsonSource geoJsonSource; + private SymbolLayer symbolLayer; @Nullable - private Marker marker; - @Nullable private LatLng focalPointLatLng; @Override @@ -70,7 +75,23 @@ public class GestureDetectorActivity extends AppCompatActivity { mapView.onCreate(savedInstanceState); mapView.getMapAsync(mapboxMap -> { GestureDetectorActivity.this.mapboxMap = mapboxMap; - mapboxMap.setStyle(Style.MAPBOX_STREETS); + + geoJsonSource = new GeoJsonSource(SYMBOL_SOURCE_ID); + symbolLayer = new SymbolLayer(SYMBOL_LAYER_ID, SYMBOL_SOURCE_ID) + .withProperties( + iconImage("marker") + ); + + Bitmap marker = BitmapUtils.getBitmapFromDrawable( + ResourcesCompat.getDrawable(getResources(), R.drawable.mapbox_marker_icon, getTheme()) + ); + + mapboxMap.setStyle(new Style.Builder() + .fromUrl(Style.MAPBOX_STREETS) + .withSource(geoJsonSource) + .withLayer(symbolLayer) + .withImage("marker", marker) + ); initializeMap(); }); @@ -266,7 +287,7 @@ public class GestureDetectorActivity extends AppCompatActivity { private void fixedFocalPointEnabled(boolean enabled) { if (enabled) { focalPointLatLng = new LatLng(51.50325, -0.12968); - marker = mapboxMap.addMarker(new MarkerOptions().position(focalPointLatLng)); + geoJsonSource.setGeoJson(Point.fromLngLat(focalPointLatLng.getLongitude(), focalPointLatLng.getLatitude())); mapboxMap.easeCamera(CameraUpdateFactory.newLatLngZoom(focalPointLatLng, 16), new MapboxMap.CancelableCallback() { @Override @@ -280,9 +301,8 @@ public class GestureDetectorActivity extends AppCompatActivity { } }); } else { - if (marker != null) { - mapboxMap.removeMarker(marker); - marker = null; + if (focalPointLatLng != null) { + geoJsonSource.setGeoJson(""); } focalPointLatLng = null; mapboxMap.getUiSettings().setFocalPoint(null); diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/camera/LatLngBoundsActivity.java b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/camera/LatLngBoundsActivity.java index 23f887eb88..51c34a66c2 100644 --- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/camera/LatLngBoundsActivity.java +++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/camera/LatLngBoundsActivity.java @@ -1,24 +1,32 @@ package com.mapbox.mapboxsdk.testapp.activity.camera; +import android.graphics.Bitmap; import android.os.Bundle; import android.support.annotation.NonNull; import android.support.design.widget.BottomSheetBehavior; +import android.support.v4.content.res.ResourcesCompat; import android.support.v7.app.AppCompatActivity; import android.view.View; - -import com.mapbox.mapboxsdk.annotations.MarkerOptions; +import com.mapbox.geojson.Feature; +import com.mapbox.geojson.FeatureCollection; +import com.mapbox.geojson.Point; import com.mapbox.mapboxsdk.camera.CameraUpdateFactory; 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.style.layers.SymbolLayer; +import com.mapbox.mapboxsdk.style.sources.GeoJsonSource; import com.mapbox.mapboxsdk.testapp.R; import com.mapbox.mapboxsdk.testapp.view.LockableBottomSheetBehavior; +import com.mapbox.mapboxsdk.utils.BitmapUtils; import java.util.ArrayList; import java.util.List; +import static com.mapbox.mapboxsdk.style.layers.PropertyFactory.iconImage; + /** * Test activity showcasing using the LatLngBounds camera API. */ @@ -43,6 +51,9 @@ public class LatLngBoundsActivity extends AppCompatActivity implements View.OnCl private static final int ANIMATION_DURATION_SHORT = 250; private static final int BOUNDS_PADDING_DIVIDER_SMALL = 3; private static final int BOUNDS_PADDING_DIVIDER_LARGE = 9; + private static final String SYMBOL_SOURCE_ID = "source=id"; + private static final String SYMBOL_LAYER_ID = "layer=id"; + private static final String ICON_ID = "marker"; private MapView mapView; private MapboxMap mapboxMap; @@ -60,6 +71,18 @@ public class LatLngBoundsActivity extends AppCompatActivity implements View.OnCl private void initMapView(Bundle savedInstanceState) { mapView = findViewById(R.id.mapView); mapView.onCreate(savedInstanceState); + + mapView.addOnStyleImageMissingListener(id -> { + if (mapboxMap != null && id.equals(ICON_ID)) { + mapboxMap.getStyle(style -> { + Bitmap marker = BitmapUtils.getBitmapFromDrawable( + ResourcesCompat.getDrawable(getResources(), R.drawable.mapbox_marker_icon, getTheme()) + ); + assert marker != null; + style.addImage(id, marker); + }); + } + }); mapView.getMapAsync(map -> { mapboxMap = map; disableGestures(); @@ -81,9 +104,15 @@ public class LatLngBoundsActivity extends AppCompatActivity implements View.OnCl } private void addMarkers() { + final List<Feature> features = new ArrayList<>(); for (LatLng location : LOCATIONS) { - mapboxMap.addMarker(new MarkerOptions().position(location)); + features.add(Feature.fromGeometry(Point.fromLngLat(location.getLongitude(), location.getLatitude()))); } + + mapboxMap.getStyle(style -> { + style.addSource(new GeoJsonSource(SYMBOL_SOURCE_ID, FeatureCollection.fromFeatures(features))); + style.addLayer(new SymbolLayer(SYMBOL_LAYER_ID, SYMBOL_SOURCE_ID).withProperties(iconImage("marker"))); + }); } private void initFab() { 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 22daf262d8..c2f3a76b02 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 @@ -7,7 +7,6 @@ import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.view.View; import android.widget.Toast; - import com.mapbox.geojson.Feature; import com.mapbox.mapboxsdk.maps.MapView; import com.mapbox.mapboxsdk.maps.MapboxMap; @@ -17,12 +16,11 @@ import com.mapbox.mapboxsdk.style.layers.SymbolLayer; import com.mapbox.mapboxsdk.style.sources.GeoJsonSource; import com.mapbox.mapboxsdk.testapp.R; import com.mapbox.mapboxsdk.testapp.utils.ResourceUtils; +import timber.log.Timber; import java.io.IOException; import java.util.List; -import timber.log.Timber; - import static com.mapbox.mapboxsdk.style.expressions.Expression.rgb; import static com.mapbox.mapboxsdk.style.layers.PropertyFactory.backgroundColor; import static com.mapbox.mapboxsdk.style.layers.PropertyFactory.iconImage; @@ -45,14 +43,14 @@ public class QueryRenderedFeaturesBoxSymbolCountActivity extends AppCompatActivi final View selectionBox = findViewById(R.id.selection_box); // Initialize map as normal - mapView = (MapView) findViewById(R.id.mapView); + mapView = findViewById(R.id.mapView); mapView.onCreate(savedInstanceState); mapView.getMapAsync(mapboxMap -> { QueryRenderedFeaturesBoxSymbolCountActivity.this.mapboxMap = mapboxMap; try { String testPoints = ResourceUtils.readRawResource(mapView.getContext(), R.raw.test_points_utrecht); - Bitmap markerImage = BitmapFactory.decodeResource(getResources(), R.drawable.mapbox_marker_icon_default); + Bitmap markerImage = BitmapFactory.decodeResource(getResources(), R.drawable.mapbox_marker_icon); mapboxMap.setStyle(new Style.Builder() .withLayer( diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/feature/QueryRenderedFeaturesPropertiesActivity.java b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/feature/QueryRenderedFeaturesPropertiesActivity.java index f2f22bae9e..f31b5c8b8a 100644 --- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/feature/QueryRenderedFeaturesPropertiesActivity.java +++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/feature/QueryRenderedFeaturesPropertiesActivity.java @@ -1,40 +1,38 @@ package com.mapbox.mapboxsdk.testapp.activity.feature; -import android.graphics.Color; import android.graphics.PointF; import android.os.Bundle; -import android.os.Parcel; -import android.os.Parcelable; import android.support.annotation.NonNull; import android.support.v7.app.AppCompatActivity; -import android.view.View; -import android.widget.LinearLayout; -import android.widget.TextView; - import com.google.gson.JsonElement; import com.mapbox.geojson.Feature; -import com.mapbox.mapboxsdk.annotations.BaseMarkerOptions; -import com.mapbox.mapboxsdk.annotations.Marker; +import com.mapbox.geojson.Point; 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; - +import timber.log.Timber; import java.util.List; import java.util.Map; -import timber.log.Timber; +import static com.mapbox.mapboxsdk.style.layers.PropertyFactory.textField; /** * Test activity showcasing using the query rendered features API to query feature properties on Map click. */ public class QueryRenderedFeaturesPropertiesActivity extends AppCompatActivity { - public MapView mapView; + private static final String SYMBOL_SOURCE_ID = "symbol-source-id"; + private static final String SYMBOL_LAYER_ID = "symbol-source-id"; + + private MapView mapView; private MapboxMap mapboxMap; - private Marker marker; + private GeoJsonSource geoJsonSource; + private SymbolLayer symbolLayer; private MapboxMap.OnMapClickListener mapClickListener = new MapboxMap.OnMapClickListener() { @Override @@ -50,14 +48,19 @@ public class QueryRenderedFeaturesPropertiesActivity extends AppCompatActivity { // Debug output debugOutput(features); - // Remove any previous markers - if (marker != null) { - mapboxMap.removeMarker(marker); - } + geoJsonSource.setGeoJson(Feature.fromGeometry(Point.fromLngLat(point.getLongitude(), point.getLatitude()))); - // Add a marker on the clicked point - marker = mapboxMap.addMarker(new CustomMarkerOptions().position(point).features(features)); - mapboxMap.selectMarker(marker); + StringBuilder stringBuilder = new StringBuilder(); + if (!features.isEmpty()) { + stringBuilder.append(String.format("Found %s features\n", features.size())); + Feature feature = features.get(0); + for (Map.Entry<String, JsonElement> prop : feature.properties().entrySet()) { + stringBuilder.append(String.format("%s: %s\n", prop.getKey(), prop.getValue())); + } + } else { + stringBuilder.append("No features here"); + } + symbolLayer.setProperties(textField(stringBuilder.toString())); return true; } }; @@ -68,15 +71,13 @@ public class QueryRenderedFeaturesPropertiesActivity extends AppCompatActivity { setContentView(R.layout.activity_query_features_point); // Initialize map as normal - mapView = (MapView) findViewById(R.id.mapView); + mapView = findViewById(R.id.mapView); mapView.onCreate(savedInstanceState); mapView.getMapAsync(mapboxMap -> { mapboxMap.setStyle(Style.MAPBOX_STREETS, style -> { QueryRenderedFeaturesPropertiesActivity.this.mapboxMap = mapboxMap; - - // Add custom window adapter - addCustomInfoWindowAdapter(mapboxMap); - + style.addSource(geoJsonSource = new GeoJsonSource(SYMBOL_SOURCE_ID)); + style.addLayer(symbolLayer = new SymbolLayer(SYMBOL_LAYER_ID, SYMBOL_SOURCE_ID)); // Add a click listener mapboxMap.addOnMapClickListener(mapClickListener); }); @@ -103,41 +104,6 @@ public class QueryRenderedFeaturesPropertiesActivity extends AppCompatActivity { } } - private void addCustomInfoWindowAdapter(MapboxMap mapboxMap) { - mapboxMap.setInfoWindowAdapter(new MapboxMap.InfoWindowAdapter() { - - private TextView row(String text) { - TextView view = new TextView(QueryRenderedFeaturesPropertiesActivity.this); - view.setText(text); - return view; - } - - @Override - public View getInfoWindow(@NonNull Marker marker) { - CustomMarker customMarker = (CustomMarker) marker; - LinearLayout view = new LinearLayout(QueryRenderedFeaturesPropertiesActivity.this); - view.setOrientation(LinearLayout.VERTICAL); - view.setBackgroundColor(Color.WHITE); - - if (customMarker.features.size() > 0) { - view.addView(row(String.format("Found %s features", customMarker.features.size()))); - Feature feature = customMarker.features.get(0); - for (Map.Entry<String, JsonElement> prop : feature.properties().entrySet()) { - view.addView(row(String.format("%s: %s", prop.getKey(), prop.getValue()))); - } - } else { - view.addView(row("No features here")); - } - - return view; - } - }); - } - - public MapboxMap getMapboxMap() { - return mapboxMap; - } - @Override protected void onStart() { super.onStart(); @@ -182,63 +148,4 @@ public class QueryRenderedFeaturesPropertiesActivity extends AppCompatActivity { super.onLowMemory(); mapView.onLowMemory(); } - - private static class CustomMarker extends Marker { - - private final List<Feature> features; - - CustomMarker(BaseMarkerOptions baseMarkerOptions, List<Feature> features) { - super(baseMarkerOptions); - this.features = features; - } - } - - private static class CustomMarkerOptions extends BaseMarkerOptions<CustomMarker, CustomMarkerOptions> { - - - private List<Feature> features; - - public CustomMarkerOptions features(List<Feature> features) { - this.features = features; - return this; - } - - CustomMarkerOptions() { - } - - private CustomMarkerOptions(Parcel in) { - // Should implement this - } - - @Override - public CustomMarkerOptions getThis() { - return this; - } - - @Override - public CustomMarker getMarker() { - return new CustomMarker(this, features); - } - - public static final Parcelable.Creator<CustomMarkerOptions> CREATOR = - new Parcelable.Creator<CustomMarkerOptions>() { - public CustomMarkerOptions createFromParcel(Parcel in) { - return new CustomMarkerOptions(in); - } - - public CustomMarkerOptions[] newArray(int size) { - return new CustomMarkerOptions[size]; - } - }; - - @Override - public int describeContents() { - return 0; - } - - @Override - public void writeToParcel(Parcel out, int flags) { - // Should implement this - } - } } diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/fragment/FragmentBackStackActivity.kt b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/fragment/FragmentBackStackActivity.kt index febe17a701..199e0096ec 100644 --- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/fragment/FragmentBackStackActivity.kt +++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/fragment/FragmentBackStackActivity.kt @@ -2,7 +2,6 @@ package com.mapbox.mapboxsdk.testapp.activity.fragment import android.os.Bundle import android.support.v7.app.AppCompatActivity -import android.view.View import com.mapbox.mapboxsdk.maps.MapboxMap import com.mapbox.mapboxsdk.maps.Style import com.mapbox.mapboxsdk.maps.SupportMapFragment @@ -28,7 +27,7 @@ class FragmentBackStackActivity : AppCompatActivity() { add(R.id.container, mapFragment) }.commit() - button.setOnClickListener { handleClick(it) } + button.setOnClickListener { handleClick() } } private fun initMap(mapboxMap: MapboxMap) { @@ -37,7 +36,7 @@ class FragmentBackStackActivity : AppCompatActivity() { } } - private fun handleClick(button: View) { + private fun handleClick() { supportFragmentManager.beginTransaction().apply { replace(R.id.container, NestedViewPagerActivity.ItemAdapter.EmptyFragment()) addToBackStack("map_empty_fragment") diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/infowindow/DynamicInfoWindowAdapterActivity.java b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/infowindow/DynamicInfoWindowAdapterActivity.java deleted file mode 100644 index c5743518b1..0000000000 --- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/infowindow/DynamicInfoWindowAdapterActivity.java +++ /dev/null @@ -1,158 +0,0 @@ -package com.mapbox.mapboxsdk.testapp.activity.infowindow; - -import android.graphics.Color; -import android.os.Bundle; -import android.support.annotation.NonNull; -import android.support.v4.content.res.ResourcesCompat; -import android.support.v7.app.AppCompatActivity; -import android.widget.TextView; - -import com.mapbox.mapboxsdk.annotations.InfoWindow; -import com.mapbox.mapboxsdk.annotations.Marker; -import com.mapbox.mapboxsdk.annotations.MarkerOptions; -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.OnMapReadyCallback; -import com.mapbox.mapboxsdk.maps.Style; -import com.mapbox.mapboxsdk.testapp.R; -import com.mapbox.mapboxsdk.testapp.utils.IconUtils; - -import java.util.Locale; - -/** - * Test activity showcasing how to dynamically update InfoWindow when Using an MapboxMap.InfoWindowAdapter. - */ -public class DynamicInfoWindowAdapterActivity extends AppCompatActivity implements OnMapReadyCallback { - - private static final LatLng PARIS = new LatLng(48.864716, 2.349014); - - private MapboxMap mapboxMap; - private MapView mapView; - private Marker marker; - - private MapboxMap.OnMapClickListener mapClickListener = new MapboxMap.OnMapClickListener() { - @Override - public boolean onMapClick(@NonNull LatLng point) { - if (marker == null) { - return false; - } - - // Distance from click to marker - double distanceKm = marker.getPosition().distanceTo(point) / 1000; - - // Get the info window - final InfoWindow infoWindow = marker.getInfoWindow(); - - // Get the view from the info window - if (infoWindow != null && infoWindow.getView() != null) { - // Set the new text on the text view in the info window - TextView textView = (TextView) infoWindow.getView(); - textView.setText(String.format(Locale.getDefault(), "%.2fkm", distanceKm)); - // Update the info window position (as the text length changes) - textView.post(infoWindow::update); - } - return true; - } - }; - - @Override - protected void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - setContentView(R.layout.activity_infowindow_adapter); - - mapView = findViewById(R.id.mapView); - mapView.onCreate(savedInstanceState); - mapView.getMapAsync(this); - } - - @Override - public void onMapReady(@NonNull MapboxMap map) { - mapboxMap = map; - - map.setStyle(Style.MAPBOX_STREETS); - - // Add info window adapter - addCustomInfoWindowAdapter(mapboxMap); - - // Keep info windows open on click - mapboxMap.getUiSettings().setDeselectMarkersOnTap(false); - - // Add a marker - marker = addMarker(mapboxMap); - mapboxMap.selectMarker(marker); - - // On map click, change the info window contents - mapboxMap.addOnMapClickListener(mapClickListener); - - // Focus on Paris - mapboxMap.animateCamera(CameraUpdateFactory.newLatLng(PARIS)); - } - - private Marker addMarker(MapboxMap mapboxMap) { - return mapboxMap.addMarker( - new MarkerOptions() - .position(PARIS) - .icon(IconUtils.drawableToIcon(this, R.drawable.ic_location_city, - ResourcesCompat.getColor(getResources(), R.color.mapbox_blue, getTheme())) - )); - } - - private void addCustomInfoWindowAdapter(final MapboxMap mapboxMap) { - final int padding = (int) getResources().getDimension(R.dimen.attr_margin); - mapboxMap.setInfoWindowAdapter(marker -> { - TextView textView = new TextView(DynamicInfoWindowAdapterActivity.this); - textView.setText(marker.getTitle()); - textView.setBackgroundColor(Color.WHITE); - textView.setText(R.string.action_calculate_distance); - textView.setPadding(padding, padding, padding, padding); - return textView; - }); - } - - @Override - protected void onStart() { - super.onStart(); - mapView.onStart(); - } - - @Override - protected void onResume() { - super.onResume(); - mapView.onResume(); - } - - @Override - protected void onPause() { - super.onPause(); - mapView.onPause(); - } - - @Override - protected void onStop() { - super.onStop(); - mapView.onStop(); - } - - @Override - protected void onSaveInstanceState(Bundle outState) { - super.onSaveInstanceState(outState); - mapView.onSaveInstanceState(outState); - } - - @Override - protected void onDestroy() { - super.onDestroy(); - if (mapboxMap != null) { - mapboxMap.removeOnMapClickListener(mapClickListener); - } - mapView.onDestroy(); - } - - @Override - public void onLowMemory() { - super.onLowMemory(); - mapView.onLowMemory(); - } -} diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/infowindow/InfoWindowActivity.java b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/infowindow/InfoWindowActivity.java deleted file mode 100644 index 5baa214698..0000000000 --- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/infowindow/InfoWindowActivity.java +++ /dev/null @@ -1,199 +0,0 @@ -package com.mapbox.mapboxsdk.testapp.activity.infowindow; - -import android.os.Bundle; -import android.support.annotation.NonNull; -import android.support.v7.app.AppCompatActivity; -import android.view.Menu; -import android.view.MenuItem; -import android.widget.Toast; - -import com.mapbox.mapboxsdk.annotations.Marker; -import com.mapbox.mapboxsdk.annotations.MarkerOptions; -import com.mapbox.mapboxsdk.geometry.LatLng; -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.text.DecimalFormat; - -/** - * Test activity showcasing using the InfoWindow API above Washington D.C. - * <p> - * Allows to test mulitple concurrently open InfoWindows. - * </p> - */ -public class InfoWindowActivity extends AppCompatActivity - implements OnMapReadyCallback, MapboxMap.OnInfoWindowCloseListener, MapboxMap.OnInfoWindowClickListener, - MapboxMap.OnInfoWindowLongClickListener { - - private MapboxMap mapboxMap; - private MapView mapView; - private Marker customMarker; - - private MapboxMap.OnMapLongClickListener mapLongClickListener = new MapboxMap.OnMapLongClickListener() { - @Override - public boolean onMapLongClick(@NonNull LatLng point) { - if (customMarker != null) { - // Remove previous added marker - mapboxMap.removeAnnotation(customMarker); - customMarker = null; - } - - // Add marker on long click location with default marker image - customMarker = mapboxMap.addMarker(new MarkerOptions() - .title("Custom Marker") - .snippet(new DecimalFormat("#.#####").format(point.getLatitude()) + ", " - + new DecimalFormat("#.#####").format(point.getLongitude())) - .position(point)); - return true; - } - }; - - @Override - protected void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - setContentView(R.layout.activity_infowindow); - - mapView = (MapView) findViewById(R.id.mapView); - mapView.onCreate(savedInstanceState); - mapView.getMapAsync(this); - } - - @Override - public void onMapReady(@NonNull MapboxMap mapboxMap) { - this.mapboxMap = mapboxMap; - mapboxMap.setStyle(Style.MAPBOX_STREETS, style -> { - addMarkers(); - addInfoWindowListeners(); - }); - } - - private void addMarkers() { - mapboxMap.addMarker(new MarkerOptions() - .title("Intersection") - .snippet("H St NW with 15th St NW") - .position(new LatLng(38.9002073, -77.03364419))); - - mapboxMap.addMarker(new MarkerOptions().title("Intersection") - .snippet("E St NW with 17th St NW") - .position(new LatLng(38.8954236, -77.0394623))); - - mapboxMap.addMarker(new MarkerOptions().title("The Ellipse").position(new LatLng(38.89393, -77.03654))); - - mapboxMap.addMarker(new MarkerOptions().position(new LatLng(38.89596, -77.03434))); - - mapboxMap.addMarker(new MarkerOptions().snippet("Lafayette Square").position(new LatLng(38.89949, -77.03656))); - - Marker marker = mapboxMap.addMarker(new MarkerOptions() - .title("White House") - .snippet("The official residence and principal workplace of the President of the United States, " - + "located at 1600 Pennsylvania Avenue NW in Washington, D.C. It has been the residence of every" - + "U.S. president since John Adams in 1800.") - .position(new LatLng(38.897705003219784, -77.03655168667463))); - - // open InfoWindow at startup - mapboxMap.selectMarker(marker); - } - - private void addInfoWindowListeners() { - mapboxMap.setOnInfoWindowCloseListener(this); - mapboxMap.addOnMapLongClickListener(mapLongClickListener); - mapboxMap.setOnInfoWindowClickListener(this); - mapboxMap.setOnInfoWindowLongClickListener(this); - } - - private void toggleConcurrentInfoWindow(boolean allowConcurrentInfoWindow) { - mapboxMap.deselectMarkers(); - mapboxMap.setAllowConcurrentMultipleOpenInfoWindows(allowConcurrentInfoWindow); - } - - private void toggleDeselectMarkersOnTap(boolean deselectMarkersOnTap) { - mapboxMap.getUiSettings().setDeselectMarkersOnTap(deselectMarkersOnTap); - } - - @Override - public boolean onInfoWindowClick(@NonNull Marker marker) { - Toast.makeText(getApplicationContext(), "OnClick: " + marker.getTitle(), Toast.LENGTH_LONG).show(); - // returning true will leave the info window open - return false; - } - - @Override - public void onInfoWindowClose(Marker marker) { - Toast.makeText(getApplicationContext(), "OnClose: " + marker.getTitle(), Toast.LENGTH_LONG).show(); - } - - @Override - public void onInfoWindowLongClick(Marker marker) { - Toast.makeText(getApplicationContext(), "OnLongClick: " + marker.getTitle(), Toast.LENGTH_LONG).show(); - } - - @Override - protected void onStart() { - super.onStart(); - mapView.onStart(); - } - - @Override - protected void onResume() { - super.onResume(); - mapView.onResume(); - } - - @Override - protected void onPause() { - super.onPause(); - mapView.onPause(); - } - - @Override - protected void onStop() { - super.onStop(); - mapView.onStop(); - } - - @Override - protected void onSaveInstanceState(Bundle outState) { - super.onSaveInstanceState(outState); - mapView.onSaveInstanceState(outState); - } - - @Override - protected void onDestroy() { - super.onDestroy(); - if (mapboxMap != null) { - mapboxMap.removeOnMapLongClickListener(mapLongClickListener); - } - mapView.onDestroy(); - } - - @Override - public void onLowMemory() { - super.onLowMemory(); - mapView.onLowMemory(); - } - - @Override - public boolean onCreateOptionsMenu(Menu menu) { - getMenuInflater().inflate(R.menu.menu_infowindow, menu); - return true; - } - - @Override - public boolean onOptionsItemSelected(MenuItem item) { - switch (item.getItemId()) { - case R.id.action_toggle_concurrent_infowindow: - toggleConcurrentInfoWindow(!item.isChecked()); - item.setChecked(!item.isChecked()); - return true; - case R.id.action_toggle_deselect_markers_on_tap: - toggleDeselectMarkersOnTap(!item.isChecked()); - item.setChecked(!item.isChecked()); - return true; - default: - return super.onOptionsItemSelected(item); - } - } -} diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/infowindow/InfoWindowAdapterActivity.java b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/infowindow/InfoWindowAdapterActivity.java deleted file mode 100644 index 5140a969d2..0000000000 --- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/infowindow/InfoWindowAdapterActivity.java +++ /dev/null @@ -1,128 +0,0 @@ -package com.mapbox.mapboxsdk.testapp.activity.infowindow; - -import android.graphics.Color; -import android.os.Bundle; -import android.support.annotation.NonNull; -import android.support.v7.app.AppCompatActivity; -import android.view.View; -import android.widget.TextView; - -import com.mapbox.mapboxsdk.annotations.Icon; -import com.mapbox.mapboxsdk.annotations.Marker; -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.testapp.R; -import com.mapbox.mapboxsdk.testapp.model.annotations.CityStateMarker; -import com.mapbox.mapboxsdk.testapp.model.annotations.CityStateMarkerOptions; -import com.mapbox.mapboxsdk.testapp.utils.IconUtils; - -/** - * Test activity showcasing using an InfoWindowAdapter to provide a custom InfoWindow content. - */ -public class InfoWindowAdapterActivity extends AppCompatActivity { - - private MapView mapView; - private MapboxMap mapboxMap; - - @Override - protected void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - setContentView(R.layout.activity_infowindow_adapter); - - mapView = findViewById(R.id.mapView); - mapView.onCreate(savedInstanceState); - mapView.getMapAsync(map -> { - mapboxMap = map; - map.setStyle(Style.MAPBOX_STREETS, style -> { - addMarkers(); - addCustomInfoWindowAdapter(); - }); - }); - } - - private void addMarkers() { - mapboxMap.addMarker(generateCityStateMarker("Andorra", 42.505777, 1.52529, "#F44336")); - mapboxMap.addMarker(generateCityStateMarker("Luxembourg", 49.815273, 6.129583, "#3F51B5")); - mapboxMap.addMarker(generateCityStateMarker("Monaco", 43.738418, 7.424616, "#673AB7")); - mapboxMap.addMarker(generateCityStateMarker("Vatican City", 41.902916, 12.453389, "#009688")); - mapboxMap.addMarker(generateCityStateMarker("San Marino", 43.942360, 12.457777, "#795548")); - mapboxMap.addMarker(generateCityStateMarker("Liechtenstein", 47.166000, 9.555373, "#FF5722")); - } - - private CityStateMarkerOptions generateCityStateMarker(String title, double lat, double lng, String color) { - CityStateMarkerOptions marker = new CityStateMarkerOptions(); - marker.title(title); - marker.position(new LatLng(lat, lng)); - marker.infoWindowBackground(color); - - Icon icon = IconUtils.drawableToIcon(this, R.drawable.ic_location_city, Color.parseColor(color)); - marker.icon(icon); - return marker; - } - - private void addCustomInfoWindowAdapter() { - mapboxMap.setInfoWindowAdapter(new MapboxMap.InfoWindowAdapter() { - - private int tenDp = (int) getResources().getDimension(R.dimen.attr_margin); - - @Override - public View getInfoWindow(@NonNull Marker marker) { - TextView textView = new TextView(InfoWindowAdapterActivity.this); - textView.setText(marker.getTitle()); - textView.setTextColor(Color.WHITE); - - if (marker instanceof CityStateMarker) { - CityStateMarker cityStateMarker = (CityStateMarker) marker; - textView.setBackgroundColor(Color.parseColor(cityStateMarker.getInfoWindowBackgroundColor())); - } - - textView.setPadding(tenDp, tenDp, tenDp, tenDp); - return textView; - } - }); - } - - @Override - protected void onStart() { - super.onStart(); - mapView.onStart(); - } - - @Override - protected void onResume() { - super.onResume(); - mapView.onResume(); - } - - @Override - protected void onPause() { - super.onPause(); - mapView.onPause(); - } - - @Override - protected void onStop() { - super.onStop(); - mapView.onStop(); - } - - @Override - protected void onSaveInstanceState(Bundle outState) { - super.onSaveInstanceState(outState); - mapView.onSaveInstanceState(outState); - } - - @Override - protected void onDestroy() { - super.onDestroy(); - mapView.onDestroy(); - } - - @Override - public void onLowMemory() { - super.onLowMemory(); - mapView.onLowMemory(); - } -} diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/maplayout/LatLngBoundsForCameraActivity.java b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/maplayout/LatLngBoundsForCameraActivity.java index 1a9d3d300b..7065caa298 100644 --- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/maplayout/LatLngBoundsForCameraActivity.java +++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/maplayout/LatLngBoundsForCameraActivity.java @@ -9,20 +9,32 @@ import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.widget.FrameLayout; -import com.mapbox.mapboxsdk.annotations.PolygonOptions; +import com.mapbox.geojson.Point; +import com.mapbox.geojson.Polygon; 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.OnMapReadyCallback; import com.mapbox.mapboxsdk.maps.Style; +import com.mapbox.mapboxsdk.style.layers.FillLayer; +import com.mapbox.mapboxsdk.style.sources.GeoJsonSource; import com.mapbox.mapboxsdk.testapp.R; +import java.util.ArrayList; +import java.util.List; + +import static com.mapbox.mapboxsdk.style.layers.PropertyFactory.fillColor; +import static com.mapbox.mapboxsdk.style.layers.PropertyFactory.fillOpacity; + /** * Test activity showcasing restricting user gestures to a bounds around Iceland, almost worldview and IDL. */ public class LatLngBoundsForCameraActivity extends AppCompatActivity implements OnMapReadyCallback { + private static final String FILL_SOURCE_ID = "fill_source_id"; + private static final String FILL_LAYER_ID = "fill_layer_id"; + private static final LatLngBounds ICELAND_BOUNDS = new LatLngBounds.Builder() .include(new LatLng(66.852863, -25.985652)) .include(new LatLng(62.985661, -12.626277)) @@ -40,6 +52,7 @@ public class LatLngBoundsForCameraActivity extends AppCompatActivity implements private MapView mapView; private MapboxMap mapboxMap; + private GeoJsonSource geoJsonSource; @Override protected void onCreate(Bundle savedInstanceState) { @@ -54,7 +67,20 @@ public class LatLngBoundsForCameraActivity extends AppCompatActivity implements @Override public void onMapReady(@NonNull MapboxMap mapboxMap) { this.mapboxMap = mapboxMap; - mapboxMap.setStyle(Style.SATELLITE_STREETS); + + geoJsonSource = new GeoJsonSource(FILL_SOURCE_ID); + FillLayer fillLayer = new FillLayer(FILL_LAYER_ID, FILL_SOURCE_ID) + .withProperties( + fillOpacity(0.25f), + fillColor(Color.RED) + ); + + mapboxMap.setStyle(new Style.Builder() + .fromUrl(Style.SATELLITE_STREETS) + .withSource(geoJsonSource) + .withLayer(fillLayer) + ); + mapboxMap.setMinZoomPreference(2); mapboxMap.getUiSettings().setFlingVelocityAnimationEnabled(false); showCrosshair(); @@ -86,15 +112,20 @@ public class LatLngBoundsForCameraActivity extends AppCompatActivity implements } private void showBoundsArea(LatLngBounds bounds) { - mapboxMap.clear(); - PolygonOptions boundsArea = new PolygonOptions() - .add(bounds.getNorthWest()) - .add(bounds.getNorthEast()) - .add(bounds.getSouthEast()) - .add(bounds.getSouthWest()); - boundsArea.alpha(0.25f); - boundsArea.fillColor(Color.RED); - mapboxMap.addPolygon(boundsArea); + List<Point> points = new ArrayList<>(); + points.add(convertToPoint(bounds.getNorthWest())); + points.add(convertToPoint(bounds.getNorthEast())); + points.add(convertToPoint(bounds.getSouthEast())); + points.add(convertToPoint(bounds.getSouthWest())); + points.add(convertToPoint(bounds.getNorthWest())); + + List<List<Point>> polygon = new ArrayList<>(); + polygon.add(points); + geoJsonSource.setGeoJson(Polygon.fromLngLats(polygon)); + } + + private Point convertToPoint(LatLng northWest) { + return Point.fromLngLat(northWest.getLongitude(), northWest.getLatitude()); } private void showCrosshair() { diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/maplayout/MapPaddingActivity.java b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/maplayout/MapPaddingActivity.java index 688ba46f94..85864a368d 100644 --- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/maplayout/MapPaddingActivity.java +++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/maplayout/MapPaddingActivity.java @@ -5,7 +5,6 @@ import android.support.v7.app.AppCompatActivity; import android.view.Menu; import android.view.MenuItem; -import com.mapbox.mapboxsdk.annotations.MarkerOptions; import com.mapbox.mapboxsdk.camera.CameraPosition; import com.mapbox.mapboxsdk.camera.CameraUpdateFactory; import com.mapbox.mapboxsdk.geometry.LatLng; @@ -109,23 +108,17 @@ public class MapPaddingActivity extends AppCompatActivity { .build(); mapboxMap.moveCamera(CameraUpdateFactory.newCameraPosition(cameraPosition)); - mapboxMap.addMarker(new MarkerOptions().title("Center map").position(bangalore)); } @Override public boolean onOptionsItemSelected(MenuItem item) { - switch (item.getItemId()) { - - case R.id.action_bangalore: - if (mapboxMap != null) { - moveToBangalore(); - } - return true; - - default: - return super.onOptionsItemSelected(item); + if (item.getItemId() == R.id.action_bangalore) { + if (mapboxMap != null) { + moveToBangalore(); + } + return true; } + return super.onOptionsItemSelected(item); } - } 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 d7ceda699e..d11fb84fd1 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 @@ -26,7 +26,6 @@ import timber.log.Timber; public class MapSnapshotterMarkerActivity extends AppCompatActivity implements MapSnapshotter.SnapshotReadyCallback { private MapSnapshotter mapSnapshotter; - private MapSnapshot mapSnapshot; @Override protected void onCreate(Bundle savedInstanceState) { @@ -38,7 +37,6 @@ public class MapSnapshotterMarkerActivity extends AppCompatActivity implements M .addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() { @Override public void onGlobalLayout() { - //noinspection deprecation container.getViewTreeObserver().removeGlobalOnLayoutListener(this); Timber.i("Starting snapshot"); @@ -65,7 +63,7 @@ public class MapSnapshotterMarkerActivity extends AppCompatActivity implements M @Override public void onSnapshotReady(MapSnapshot snapshot) { Timber.i("Snapshot ready"); - ImageView imageView = (ImageView) findViewById(R.id.snapshot_image); + ImageView imageView = findViewById(R.id.snapshot_image); Bitmap image = addMarker(snapshot); imageView.setImageBitmap(image); imageView.setOnTouchListener((v, event) -> { @@ -80,7 +78,7 @@ public class MapSnapshotterMarkerActivity extends AppCompatActivity implements M private Bitmap addMarker(MapSnapshot snapshot) { Canvas canvas = new Canvas(snapshot.getBitmap()); - Bitmap marker = BitmapFactory.decodeResource(getResources(), R.drawable.mapbox_marker_icon_default, null); + Bitmap marker = BitmapFactory.decodeResource(getResources(), R.drawable.mapbox_marker_icon, null); // Dom toren PointF markerLocation = snapshot.pixelForLatLng(new LatLng(52.090649433011315, 5.121310651302338)); canvas.drawBitmap(marker, diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/annotation/AnimatedSymbolLayerActivity.java b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/AnimatedSymbolLayerActivity.java index 7e442aa802..7fbdce06b6 100644 --- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/annotation/AnimatedSymbolLayerActivity.java +++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/AnimatedSymbolLayerActivity.java @@ -1,4 +1,4 @@ -package com.mapbox.mapboxsdk.testapp.activity.annotation; +package com.mapbox.mapboxsdk.testapp.activity.style; import android.animation.Animator; import android.animation.AnimatorListenerAdapter; 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 0b784675e9..11234de30a 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 @@ -3,6 +3,7 @@ package com.mapbox.mapboxsdk.testapp.activity.style import android.graphics.PointF import android.os.Bundle import android.support.design.widget.Snackbar +import android.support.v4.content.res.ResourcesCompat import android.support.v7.app.AppCompatActivity import android.view.MotionEvent import android.view.View @@ -11,7 +12,6 @@ import com.mapbox.android.gestures.MoveGestureDetector import com.mapbox.geojson.Feature import com.mapbox.geojson.FeatureCollection import com.mapbox.geojson.Point -import com.mapbox.mapboxsdk.annotations.IconFactory import com.mapbox.mapboxsdk.camera.CameraUpdateFactory import com.mapbox.mapboxsdk.geometry.LatLng import com.mapbox.mapboxsdk.maps.MapView @@ -21,6 +21,7 @@ import com.mapbox.mapboxsdk.style.layers.PropertyFactory.* import com.mapbox.mapboxsdk.style.layers.SymbolLayer import com.mapbox.mapboxsdk.style.sources.GeoJsonSource import com.mapbox.mapboxsdk.testapp.R +import com.mapbox.mapboxsdk.utils.BitmapUtils import kotlinx.android.synthetic.main.activity_draggable_marker.* /** @@ -68,10 +69,13 @@ class DraggableMarkerActivity : AppCompatActivity() { mapView.getMapAsync { mapboxMap -> this.mapboxMap = mapboxMap + val markerDrawable = ResourcesCompat.getDrawable(resources, R.drawable.mapbox_marker_icon, theme) + val markerBitmap = BitmapUtils.getBitmapFromDrawable(markerDrawable) + mapboxMap.setStyle( Style.Builder() .fromUrl(Style.MAPBOX_STREETS) - .withImage(markerImageId, IconFactory.getInstance(this).defaultMarker().bitmap) + .withImage(markerImageId, markerBitmap!!) .withSource(source) .withLayer(layer) ) diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/model/annotations/CityStateMarker.java b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/model/annotations/CityStateMarker.java deleted file mode 100644 index 15b2f0b127..0000000000 --- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/model/annotations/CityStateMarker.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.mapbox.mapboxsdk.testapp.model.annotations; - -import com.mapbox.mapboxsdk.annotations.Marker; - -public class CityStateMarker extends Marker { - - private String infoWindowBackgroundColor; - - public CityStateMarker(CityStateMarkerOptions cityStateOptions, String color) { - super(cityStateOptions); - infoWindowBackgroundColor = color; - } - - public String getInfoWindowBackgroundColor() { - return infoWindowBackgroundColor; - } - -} diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/model/annotations/CityStateMarkerOptions.java b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/model/annotations/CityStateMarkerOptions.java deleted file mode 100644 index 874c644af7..0000000000 --- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/model/annotations/CityStateMarkerOptions.java +++ /dev/null @@ -1,68 +0,0 @@ -package com.mapbox.mapboxsdk.testapp.model.annotations; - -import android.graphics.Bitmap; -import android.os.Parcel; -import android.os.Parcelable; - -import com.mapbox.mapboxsdk.annotations.BaseMarkerOptions; -import com.mapbox.mapboxsdk.annotations.Icon; -import com.mapbox.mapboxsdk.annotations.IconFactory; -import com.mapbox.mapboxsdk.geometry.LatLng; - -public class CityStateMarkerOptions extends BaseMarkerOptions<CityStateMarker, CityStateMarkerOptions> { - - private String infoWindowBackgroundColor; - - public CityStateMarkerOptions infoWindowBackground(String color) { - infoWindowBackgroundColor = color; - return getThis(); - } - - public CityStateMarkerOptions() { - } - - private CityStateMarkerOptions(Parcel in) { - position((LatLng) in.readParcelable(LatLng.class.getClassLoader())); - snippet(in.readString()); - String iconId = in.readString(); - Bitmap iconBitmap = in.readParcelable(Bitmap.class.getClassLoader()); - Icon icon = IconFactory.recreate(iconId, iconBitmap); - icon(icon); - title(in.readString()); - } - - @Override - public CityStateMarkerOptions getThis() { - return this; - } - - @Override - public CityStateMarker getMarker() { - return new CityStateMarker(this, infoWindowBackgroundColor); - } - - public static final Parcelable.Creator<CityStateMarkerOptions> CREATOR - = new Parcelable.Creator<CityStateMarkerOptions>() { - public CityStateMarkerOptions createFromParcel(Parcel in) { - return new CityStateMarkerOptions(in); - } - - public CityStateMarkerOptions[] newArray(int size) { - return new CityStateMarkerOptions[size]; - } - }; - - @Override - public int describeContents() { - return 0; - } - - @Override - public void writeToParcel(Parcel out, int flags) { - out.writeParcelable(position, flags); - out.writeString(snippet); - out.writeString(icon.getId()); - out.writeParcelable(icon.getBitmap(), flags); - out.writeString(title); - } -} diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/model/annotations/CountryMarker.java b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/model/annotations/CountryMarker.java deleted file mode 100644 index 6b172ef83f..0000000000 --- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/model/annotations/CountryMarker.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.mapbox.mapboxsdk.testapp.model.annotations; - -import com.mapbox.mapboxsdk.annotations.BaseMarkerOptions; -import com.mapbox.mapboxsdk.annotations.Marker; - -public class CountryMarker extends Marker { - - private String abbrevName; - private int flagRes; - - public CountryMarker(BaseMarkerOptions baseMarkerOptions, String abbrevName, int iconRes) { - super(baseMarkerOptions); - this.abbrevName = abbrevName; - this.flagRes = iconRes; - } - - public String getAbbrevName() { - return abbrevName; - } - - public int getFlagRes() { - return flagRes; - } -} diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/model/annotations/CountryMarkerOptions.java b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/model/annotations/CountryMarkerOptions.java deleted file mode 100644 index 0a64359979..0000000000 --- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/model/annotations/CountryMarkerOptions.java +++ /dev/null @@ -1,75 +0,0 @@ -package com.mapbox.mapboxsdk.testapp.model.annotations; - -import android.graphics.Bitmap; -import android.os.Parcel; -import android.os.Parcelable; - -import com.mapbox.mapboxsdk.annotations.BaseMarkerOptions; -import com.mapbox.mapboxsdk.annotations.Icon; -import com.mapbox.mapboxsdk.annotations.IconFactory; -import com.mapbox.mapboxsdk.geometry.LatLng; - -public class CountryMarkerOptions extends BaseMarkerOptions<CountryMarker, CountryMarkerOptions> { - - private String abbrevName; - private int flagRes; - - public CountryMarkerOptions abbrevName(String name) { - abbrevName = name; - return getThis(); - } - - public CountryMarkerOptions flagRes(int imageRes) { - flagRes = imageRes; - return getThis(); - } - - public CountryMarkerOptions() { - } - - private CountryMarkerOptions(Parcel in) { - position((LatLng) in.readParcelable(LatLng.class.getClassLoader())); - snippet(in.readString()); - String iconId = in.readString(); - Bitmap iconBitmap = in.readParcelable(Bitmap.class.getClassLoader()); - Icon icon = IconFactory.recreate(iconId, iconBitmap); - icon(icon); - title(in.readString()); - } - - @Override - public CountryMarkerOptions getThis() { - return this; - } - - @Override - public CountryMarker getMarker() { - return new CountryMarker(this, abbrevName, flagRes); - } - - public static final Parcelable.Creator<CountryMarkerOptions> CREATOR - = new Parcelable.Creator<CountryMarkerOptions>() { - public CountryMarkerOptions createFromParcel(Parcel in) { - return new CountryMarkerOptions(in); - } - - public CountryMarkerOptions[] newArray(int size) { - return new CountryMarkerOptions[size]; - } - }; - - @Override - public int describeContents() { - return 0; - } - - @Override - public void writeToParcel(Parcel out, int flags) { - out.writeParcelable(position, flags); - out.writeString(snippet); - out.writeString(icon.getId()); - out.writeParcelable(icon.getBitmap(), flags); - out.writeString(title); - } - -} diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/utils/IconUtils.java b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/utils/IconUtils.java deleted file mode 100644 index b6768a91a3..0000000000 --- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/utils/IconUtils.java +++ /dev/null @@ -1,31 +0,0 @@ -package com.mapbox.mapboxsdk.testapp.utils; - -import android.content.Context; -import android.graphics.Bitmap; -import android.graphics.Canvas; -import android.graphics.drawable.Drawable; -import android.support.annotation.ColorInt; -import android.support.annotation.DrawableRes; -import android.support.annotation.NonNull; -import android.support.v4.content.res.ResourcesCompat; -import android.support.v4.graphics.drawable.DrawableCompat; - -import com.mapbox.mapboxsdk.annotations.Icon; -import com.mapbox.mapboxsdk.annotations.IconFactory; - -public class IconUtils { - - /** - * Demonstrates converting any Drawable to an Icon, for use as a marker icon. - */ - public static Icon drawableToIcon(@NonNull Context context, @DrawableRes int id, @ColorInt int colorRes) { - Drawable vectorDrawable = ResourcesCompat.getDrawable(context.getResources(), id, context.getTheme()); - Bitmap bitmap = Bitmap.createBitmap(vectorDrawable.getIntrinsicWidth(), - vectorDrawable.getIntrinsicHeight(), Bitmap.Config.ARGB_8888); - Canvas canvas = new Canvas(bitmap); - vectorDrawable.setBounds(0, 0, canvas.getWidth(), canvas.getHeight()); - DrawableCompat.setTint(vectorDrawable, colorRes); - vectorDrawable.draw(canvas); - return IconFactory.getInstance(context).fromBitmap(bitmap); - } -} diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable-hdpi/mapbox_marker_icon.png b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable-hdpi/mapbox_marker_icon.png Binary files differnew file mode 100644 index 0000000000..651482f3ee --- /dev/null +++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable-hdpi/mapbox_marker_icon.png diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable-mdpi/mapbox_marker_icon.png b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable-mdpi/mapbox_marker_icon.png Binary files differnew file mode 100644 index 0000000000..63cb7b5f4b --- /dev/null +++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable-mdpi/mapbox_marker_icon.png diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable-xhdpi/mapbox_marker_icon.png b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable-xhdpi/mapbox_marker_icon.png Binary files differnew file mode 100644 index 0000000000..175f88ff88 --- /dev/null +++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable-xhdpi/mapbox_marker_icon.png diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable-xxhdpi/mapbox_marker_icon.png b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable-xxhdpi/mapbox_marker_icon.png Binary files differnew file mode 100644 index 0000000000..be782e1d4b --- /dev/null +++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable-xxhdpi/mapbox_marker_icon.png diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable-xxxhdpi/mapbox_marker_icon.png b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable-xxxhdpi/mapbox_marker_icon.png Binary files differnew file mode 100644 index 0000000000..fe1c486518 --- /dev/null +++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable-xxxhdpi/mapbox_marker_icon.png diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/values/categories.xml b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/values/categories.xml index 94c805f357..17f323cae0 100644 --- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/values/categories.xml +++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/values/categories.xml @@ -2,7 +2,6 @@ <resources> <string name="category">category</string> <string name="category_basic">_Basic</string> - <string name="category_annotation">Annotation</string> <string name="category_camera">Camera</string> <string name="category_custom_layer">Custom Layer</string> <string name="category_fragment">Fragment</string> diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/values/descriptions.xml b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/values/descriptions.xml index be8dae57a0..9b36a7738e 100644 --- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/values/descriptions.xml +++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/values/descriptions.xml @@ -1,20 +1,15 @@ <?xml version="1.0" encoding="utf-8"?> <resources> <string name="description_custom_layer">Overlay a custom native layer on the map</string> - <string name="description_info_window_adapter">Learn how to create a custom InfoWindow</string> <string name="description_cameraposition">CameraPosition capabilities</string> <string name="description_map_fragment">Showcase MapFragment</string> <string name="description_map_fragment_support">Showcase SupportMapFragment</string> <string name="description_map_fragment_backstack">Showcase using a Map Fragment with a fragment backstack</string> <string name="description_multimap">Activity with multiple maps on screen</string> - <string name="description_press_for_marker">Add marker to map on long press</string> <string name="description_camera_zoom">Different types of zoom methods</string> <string name="description_minmax_zoom">Configure a max and min zoomlevel</string> - <string name="description_info_window">Learn how to handle the InfoWindow</string> - <string name="description_add_bulk_markers">Add Markers In Bulk to a Map</string> <string name="description_camera_animation_types">Showcase the different animation types</string> <string name="description_visible_bounds">Center the camera around a bounds</string> - <string name="description_dynamic_marker">Update position and icon</string> <string name="description_map_padding">Map Padding example</string> <string name="description_debug_mode">Debug Mode</string> <string name="description_offline">Offline Map example</string> @@ -23,12 +18,9 @@ <string name="description_offline_region_delete">Delete region example</string> <string name="description_change_resources_cache_path">Change resources cache path example</string> <string name="description_animated_symbollayer">Animate the position change of a symbol layer</string> - <string name="description_polyline">Add a polyline to a map</string> - <string name="description_polygon">Add a polygon to a map</string> <string name="description_scroll_by">Scroll with pixels in x,y direction</string> <string name="description_snapshot">Example to make a snapshot of the map</string> <string name="description_doublemap">2 maps in a view hierarchy</string> - <string name="description_dynamic_info_window_adapter">Learn how to create a dynamic custom InfoWindow</string> <string name="description_viewpager">Use SupportMapFragments in a ViewPager</string> <string name="description_runtime_style">Adopt the map style on the fly</string> <string name="description_gradient_line">Show a gradient line layer from a geojson source</string> @@ -83,5 +75,5 @@ <string name="description_recyclerview_glsurfaceview">Show a GLSurfaceView MapView as a recyclerView item</string> <string name="description_nested_viewpager">Show a MapView inside a viewpager inside a recyclerView</string> <string name="description_performance_measurement">Show the use PerformanceEvent for performance measurements</string> - <string name="description_physical_circle">Use TurfTransformation#circle() to show a Cirlce expressed in physical units</string> + <string name="description_physical_circle">Use TurfTransformation#circle() to show a Circle expressed in physical units</string> </resources> diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/values/titles.xml b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/values/titles.xml index 027198c71b..8ffa91ad30 100644 --- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/values/titles.xml +++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/values/titles.xml @@ -4,16 +4,8 @@ <string name="activity_map_fragment">Map Fragment</string> <string name="activity_map_fragment_backstack">Backstack Map Fragment</string> <string name="activity_multimap">Multiple Maps on Screen</string> - <string name="activity_add_bulk_markers">Add Markers In Bulk</string> <string name="activity_animated_symbollayer">Animated SymbolLayer</string> - <string name="activity_dynamic_marker">Dynamic Marker</string> - <string name="activity_polyline">Polyline</string> - <string name="activity_polygon">Polygon</string> - <string name="activity_press_for_marker">Press Map For Marker</string> <string name="activity_add_remove_markers">Zoom function with SymbolLayer</string> - <string name="activity_info_window">Standard InfoWindow</string> - <string name="activity_infowindow_adapter">Custom InfoWindow</string> - <string name="activity_dynamic_infowindow_adapter">Custom Dynamic InfoWindow</string> <string name="activity_camera_animation_types">Animation Types</string> <string name="activity_camera_zoom">Zoom Methods</string> <string name="activity_visible_coordinate_bounds">LatLngBounds Method</string> |