MkMapView drop a pin on touch

2020-06-02 04:06发布

问题:

I am struggling to unearth a standard way to drop a pin on a MkMapView based on a touch input. There probably isnt a standard way, but it is always worth asking. If I have to implement this myself is the best approach to add a Gesture Recogniser to pick up a tap on the map view.

回答1:

Yes, you can use a UILongPressGestureRecognizer to do this.

This previous answer of mine has details with sample code:
How to add a push pin to a MKMapView(IOS) when touching?

To animate the drop, in viewForAnnotation, return an MKPinAnnotationView with animatesDrop set to YES.



回答2:

I know that the Maps app has a separate button (under the curl of the map) that drops a pin. Hence that is kind of how I do it (though not under the map curl). I have not read anywhere that there is a standard but I have not read all 12,000 GB of documentation (ha ha). I would say to check out some of the "standard" apps like Maps and follow what they do just to be consistent. I know that typically a double tap zooms the map so I'm not sure that I would use that. Just my $0.02...