Wesley Skeen Wesley Skeen - 3 months ago 38
Swift Question

Zoom to fit current location and annotation on map

I am new to swift (iOS programming in general) and am trying to figure out how to zoom a map out to fit 2 points on the map.

Currently I have

var zoomRect = MKMapRectNull;
var myLocationPointRect = MKMapRectMake(myLocation.longitude, myLocation.latitude, 0, 0)
var currentDestinationPointRect = MKMapRectMake(currentDestination.longitude, currentDestination.latitude, 0, 0)

zoomRect = myLocationPointRect;
zoomRect = MKMapRectUnion(zoomRect, currentDestinationPointRect);


Which does nothing.

Do I have to apply
zoomRect
to the map somehow?

Answer

MKMapRectUnion computes and returns a new rect, nothing more. You need to tell the mapView to set its visible area to that new rect:

myMapView.setVisibleMapRect(zoomRect, animated: true)