From a8352dadde34371cbc510dfb96cf35e5d0015629 Mon Sep 17 00:00:00 2001 From: Tobrun Date: Tue, 10 May 2016 14:34:24 +0200 Subject: [PATCH] [android] #3276 - remove annotations was not calling removeMarkerView --- .../com/mapbox/mapboxsdk/maps/MapboxMap.java | 1 + .../annotation/BulkMarkerActivity.java | 19 ++++++++++---- .../main/res/layout/activity_marker_bulk.xml | 25 ++++++++++++++----- 3 files changed, 34 insertions(+), 11 deletions(-) diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapboxMap.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapboxMap.java index f4fb15b14..aaa78998c 100644 --- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapboxMap.java +++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapboxMap.java @@ -1021,6 +1021,7 @@ public class MapboxMap { annotation = mAnnotations.get(ids[i]); if (annotation instanceof Marker) { ((Marker) annotation).hideInfoWindow(); + removeMarkerView(annotation.getId()); } } mMapView.removeAnnotations(ids); 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 index a0171e4c6..e0ea8d5ed 100644 --- 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 @@ -16,7 +16,6 @@ import android.view.View; import android.view.ViewGroup; import android.widget.AdapterView; import android.widget.ArrayAdapter; -import android.widget.ImageView; import android.widget.Spinner; import android.widget.TextView; @@ -27,7 +26,6 @@ import com.mapbox.mapboxsdk.geometry.LatLng; import com.mapbox.mapboxsdk.maps.MapboxMap; import com.mapbox.mapboxsdk.maps.OnMapReadyCallback; import com.mapbox.mapboxsdk.testapp.R; -import com.mapbox.mapboxsdk.testapp.model.annotations.CountryMarker; import com.mapbox.mapboxsdk.testapp.utils.GeoParseUtil; import com.mapbox.mapboxsdk.maps.MapView; @@ -65,8 +63,6 @@ public class BulkMarkerActivity extends AppCompatActivity implements AdapterView public void onMapReady(@NonNull MapboxMap mapboxMap) { mMapboxMap = mapboxMap; - mMapboxMap.setMarkerViewAdapter(new TextAdapter(BulkMarkerActivity.this)); - if (actionBar != null) { ArrayAdapter spinnerAdapter = ArrayAdapter.createFromResource(actionBar.getThemedContext(), R.array.bulk_marker_list, android.R.layout.simple_spinner_item); spinnerAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); @@ -76,9 +72,22 @@ public class BulkMarkerActivity extends AppCompatActivity implements AdapterView } } }); + + final View fab = findViewById(R.id.fab); + if (fab != null) { + fab.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + if (mMapboxMap != null) { + fab.animate().alpha(0).start(); + mMapboxMap.setMarkerViewAdapter(new TextAdapter(BulkMarkerActivity.this)); + } + } + }); + } } - private static class TextAdapter implements MapboxMap.MarkerViewAdapter { + public static class TextAdapter implements MapboxMap.MarkerViewAdapter { private LayoutInflater inflater; diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/layout/activity_marker_bulk.xml b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/layout/activity_marker_bulk.xml index 8617f3d03..868aac5f6 100644 --- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/layout/activity_marker_bulk.xml +++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/layout/activity_marker_bulk.xml @@ -1,12 +1,11 @@ - + android:layout_height="match_parent"> - + + + +