diff options
author | Tobrun <tobrun@mapbox.com> | 2017-05-15 13:39:34 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-05-15 13:39:34 +0200 |
commit | 59442167b16ec5b92c29aad4670340b740a0a9e4 (patch) | |
tree | 410a553766afe862262bf4ad1f45d7acc722cf6c /platform/android | |
parent | a68788a2cfb85efe69b0d81672bff7272368494e (diff) | |
download | qtlocation-mapboxgl-59442167b16ec5b92c29aad4670340b740a0a9e4.tar.gz |
[android] - MarkerView deselect events with OnMarkerViewClickListener integration (#8996)
Diffstat (limited to 'platform/android')
-rw-r--r-- | platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/AnnotationManager.java | 13 |
1 files 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 6553b64592..e811470d64 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 @@ class AnnotationManager { 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; } |