From 1c470241e3d0ad748d9fe5a45374e9036d79a87c Mon Sep 17 00:00:00 2001 From: neslihanturan Date: Fri, 29 Nov 2019 19:15:26 +0300 Subject: [PATCH] Fix multiple current location marker issue (#3243) --- .../nrw/commons/nearby/fragments/NearbyMapFragment.java | 7 +++++-- .../nrw/commons/nearby/fragments/NearbyParentFragment.java | 1 - 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/fr/free/nrw/commons/nearby/fragments/NearbyMapFragment.java b/app/src/main/java/fr/free/nrw/commons/nearby/fragments/NearbyMapFragment.java index 260b5339b..b9a1ee399 100644 --- a/app/src/main/java/fr/free/nrw/commons/nearby/fragments/NearbyMapFragment.java +++ b/app/src/main/java/fr/free/nrw/commons/nearby/fragments/NearbyMapFragment.java @@ -315,6 +315,7 @@ public class NearbyMapFragment extends CommonsDaggerSupportFragment */ @Override public void addCurrentLocationMarker(LatLng curLatLng) { + removeCurrentLocationMarker(); Timber.d("Adds current location marker"); Icon icon = IconFactory.getInstance(getContext()).fromResource(R.drawable.current_location_marker); @@ -336,8 +337,10 @@ public class NearbyMapFragment extends CommonsDaggerSupportFragment @Override public void removeCurrentLocationMarker() { - mapboxMap.removeMarker(currentLocationMarker); - mapboxMap.removePolygon(currentLocationPolygon); + if (currentLocationMarker != null) { + mapboxMap.removeMarker(currentLocationMarker); + mapboxMap.removePolygon(currentLocationPolygon); + } } /** diff --git a/app/src/main/java/fr/free/nrw/commons/nearby/fragments/NearbyParentFragment.java b/app/src/main/java/fr/free/nrw/commons/nearby/fragments/NearbyParentFragment.java index 4391a105d..a1e986c05 100644 --- a/app/src/main/java/fr/free/nrw/commons/nearby/fragments/NearbyParentFragment.java +++ b/app/src/main/java/fr/free/nrw/commons/nearby/fragments/NearbyParentFragment.java @@ -842,7 +842,6 @@ public class NearbyParentFragment extends CommonsDaggerSupportFragment @Override public void recenterMap(fr.free.nrw.commons.location.LatLng curLatLng) { - nearbyMapFragment.removeCurrentLocationMarker(); nearbyMapFragment.addCurrentLocationMarker(curLatLng); CameraPosition position;