コード例 #1
0
        public override void DidSelectAnnotationView(MKMapView mapView, MKAnnotationView view)
        {
            DeselectPin();

            if (view?.Annotation is UnifiedPointAnnotation unifiedPoint)
            {
                _selectedAnnotation     = unifiedPoint;
                _selectedAnnotationView = view;

                _selectedAnnotationView.AddGestureRecognizer(_PinInfoViewLongPress);

                _renderer.SelectedItem = unifiedPoint.Data;
                var isSelected = unifiedPoint.Data?.SelectedImage != null;

                UpdateImage(view, unifiedPoint.Data, isSelected);
                UpdatePin(view, unifiedPoint.Data, true);
                view.Layer.ZPosition = int.MaxValue - 1;
            }
            else if (view.Class.Name == "MKModernUserLocationView")
            {
                // Ensure that when UserLocation pin is added it's always at the top
                view.Layer.ZPosition = int.MaxValue;
                // Remove InfoWindow from MKModernUserLocationView
                view.CanShowCallout = false;
            }
        }
コード例 #2
0
        public override void DidSelectAnnotationView(MKMapView mapView, MKAnnotationView view)
        {
            DeselectPin();

            var unifiedPoint = view?.Annotation as UnifiedPointAnnotation;

            _selectedAnnotation     = unifiedPoint;
            _selectedAnnotationView = view;

            if (unifiedPoint != null)
            {
                _renderer.SelectedItem = unifiedPoint.Data;
                var isSelected = unifiedPoint.Data?.SelectedImage != null;

                UpdateImage(view, unifiedPoint.Data, isSelected);
                UpdatePinColor(view, unifiedPoint.Data, true);
            }
        }
コード例 #3
0
        public override void DidSelectAnnotationView(MKMapView mapView, MKAnnotationView view)
        {
            if (_selectedAnnotation is UnifiedPointAnnotation)
            {
                var prevAnnotation = (UnifiedPointAnnotation)_selectedAnnotation;
                UpdateImage(_selectedAnnotationView, prevAnnotation.Data, false);
                UpdatePinColor(_selectedAnnotationView, prevAnnotation.Data, false);
            }

            var unifiedPoint = view.Annotation as UnifiedPointAnnotation;
            _selectedAnnotation = unifiedPoint;
            _selectedAnnotationView = view;

            if (unifiedPoint != null)
            {
                _renderer.SelectedItem = unifiedPoint.Data;
                var isSelected = unifiedPoint.Data.SelectedImage != null;

                UpdateImage(view, unifiedPoint.Data, isSelected);
                UpdatePinColor(view, unifiedPoint.Data, true);
            }
        }