protected void AttachGestureToPin(MKAnnotationView mapPin, IMKAnnotation annotation) { var recognizers = mapPin.GestureRecognizers; if (recognizers != null) { foreach (var r in recognizers) { mapPin.RemoveGestureRecognizer(r); } } #if __MOBILE__ var recognizer = new UITapGestureRecognizer(g => OnCalloutClicked(annotation)) { ShouldReceiveTouch = (gestureRecognizer, touch) => { _lastTouchedView = touch.View; return(true); } }; #else var recognizer = new NSClickGestureRecognizer(g => OnCalloutClicked(annotation)); #endif mapPin.AddGestureRecognizer(recognizer); }
public override void DidDeselectAnnotationView(MKMapView mapView, MKAnnotationView view) { // Fix issue where Pins already deselected internally but it's still highlighted on UI DeselectPin(); if (view?.Annotation is UnifiedPointAnnotation unifiedPoint) { _selectedAnnotationView.RemoveGestureRecognizer(_PinInfoViewLongPress); } }