summaryrefslogtreecommitdiff
path: root/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/MainActivity.java
diff options
context:
space:
mode:
Diffstat (limited to 'android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/MainActivity.java')
-rw-r--r--android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/MainActivity.java26
1 files changed, 18 insertions, 8 deletions
diff --git a/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/MainActivity.java b/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/MainActivity.java
index 29d6de7f4f..32cff91ced 100644
--- a/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/MainActivity.java
+++ b/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/MainActivity.java
@@ -55,10 +55,14 @@ public class MainActivity extends AppCompatActivity {
// Used for saving instance state
private static final String STATE_IS_ANNOTATIONS_ON = "isAnnotationsOn";
private static final String STATE_SELECTED_STYLE = "selectedStyle";
+ private static final String STATE_MARKER_LIST = "markerList";
// Used for permissions requests
private static final int PERMISSIONS_LOCATION = 0;
+ // Used for info window
+ private static final DecimalFormat LAT_LON_FORMATTER = new DecimalFormat("#.#####");
+
//
// Instance members
//
@@ -76,8 +80,7 @@ public class MainActivity extends AppCompatActivity {
// Used for Annotations
private boolean mIsAnnotationsOn = false;
-
- private static final DecimalFormat latLngFormatter = new DecimalFormat("#.#####");
+ private ArrayList<MarkerOptions> mMarkerList = new ArrayList<>();
//
// Lifecycle events
@@ -119,20 +122,23 @@ public class MainActivity extends AppCompatActivity {
mMapView.setOnMapLongClickListener(new MapView.OnMapLongClickListener() {
@Override
public void onMapLongClick(@NonNull LatLng point) {
- mMapView.addMarker(new MarkerOptions()
+ MarkerOptions marker = new MarkerOptions()
.position(point)
.title("Dropped Pin")
- .snippet(latLngFormatter.format(point.getLatitude()) + ", " +
- latLngFormatter.format(point.getLongitude()))
- .icon(null));
+ .snippet(LAT_LON_FORMATTER.format(point.getLatitude()) + ", " +
+ LAT_LON_FORMATTER.format(point.getLongitude()))
+ .icon(null);
+
+ mMarkerList.add(marker);
+ mMapView.addMarker(marker);
}
});
mMapView.setOnMapClickListener(new MapView.OnMapClickListener() {
@Override
public void onMapClick(@NonNull LatLng point) {
- String location = latLngFormatter.format(point.getLatitude()) + ", " +
- latLngFormatter.format(point.getLongitude());
+ String location = LAT_LON_FORMATTER.format(point.getLatitude()) + ", " +
+ LAT_LON_FORMATTER.format(point.getLongitude());
Snackbar.make(mCoordinatorLayout, "Map Click Listener " + location, Snackbar.LENGTH_SHORT).show();
}
});
@@ -190,6 +196,8 @@ public class MainActivity extends AppCompatActivity {
if (savedInstanceState != null) {
mIsAnnotationsOn = savedInstanceState.getBoolean(STATE_IS_ANNOTATIONS_ON);
mSelectedStyle = savedInstanceState.getInt(STATE_SELECTED_STYLE);
+ mMarkerList = savedInstanceState.getParcelableArrayList(STATE_MARKER_LIST);
+ mMapView.addMarkers(mMarkerList);
}
// Set default UI state
@@ -249,6 +257,7 @@ public class MainActivity extends AppCompatActivity {
mMapView.onSaveInstanceState(outState);
outState.putBoolean(STATE_IS_ANNOTATIONS_ON, mIsAnnotationsOn);
outState.putInt(STATE_SELECTED_STYLE, mSelectedStyle);
+ outState.putParcelableArrayList(STATE_MARKER_LIST, mMarkerList);
}
// Called when the system is running low on memory
@@ -515,6 +524,7 @@ public class MainActivity extends AppCompatActivity {
}
private void removeAnnotations() {
+ mMarkerList.clear();
mMapView.removeAllAnnotations();
}