And here is a simple Swift extension in case someone stumbles upon this in the future
import MapKit extension MKMapView { func animatedZoom(zoomRegion zoomRegion:MKCoordinateRegion, duration:NSTimeInterval) { MKMapView.animateWithDuration(duration, delay: 0, usingSpringWithDamping: 0.6, initialSpringVelocity: 10, options: UIViewAnimationOptions.CurveEaseIn, animations: { self.setRegion(zoomRegion, animated: true) }, completion: nil) } }
UPD: Swift 3 version
extension MKMapView { func animatedZoom(zoomRegion:MKCoordinateRegion, duration:TimeInterval) { MKMapView.animate(withDuration: duration, delay: 0, usingSpringWithDamping: 0.6, initialSpringVelocity: 10, options: UIViewAnimationOptions.curveEaseIn, animations: { self.setRegion(zoomRegion, animated: true) }, completion: nil) } }
kernelpanic
source share