From ccddbf8a7ea4921b340bcc0971af39675f358c54 Mon Sep 17 00:00:00 2001 From: Tobrun Van Nuland Date: Mon, 15 May 2017 10:42:56 +0200 Subject: [PATCH] [android] - MarkerView deselect events with OnMarkerViewClickListener integration --- .../mapbox/mapboxsdk/maps/AnnotationManager.java | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/AnnotationManager.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/AnnotationManager.java index 6553b64592c..e811470d649 100644 --- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/AnnotationManager.java +++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/AnnotationManager.java @@ -670,12 +670,15 @@ boolean onTap(PointF tapPoint, float screenDensity) { for (Marker nearbyMarker : nearbyMarkers) { for (Marker selectedMarker : selectedMarkers) { if (nearbyMarker.equals(selectedMarker)) { - if (onMarkerClickListener != null) { - // end developer has provided a custom click listener + if (nearbyMarker instanceof MarkerView) { + handledDefaultClick = markerViewManager.onClickMarkerView((MarkerView) nearbyMarker); + } else if (onMarkerClickListener != null) { handledDefaultClick = onMarkerClickListener.onMarkerClick(nearbyMarker); - if (!handledDefaultClick) { - deselectMarker(nearbyMarker); - } + } + + if (!handledDefaultClick) { + // only deselect marker if user didn't handle the click event themselves + deselectMarker(nearbyMarker); } return true; }