You need to zoom the map view out in order to have the route displayed below the route text view(s). There are 2 ways to do that generally:
- Determine the new
MKCoordinateRegion
(orMKMapRect
), which is the bounds of your route with extra padding space above - Change the
MKMapView
frame such that it sits below the route text views and maintain aregion
which fits the route
Option 2 is easier, but has a different visual effect. Option 1 requires you to pad the display area while maintaining the route display area.
For option 1, use the fact that you already zoom the map to the route and manipulate the visibleMapRect
. Try:
MKMapRect visibleMapRect = map.visibleMapRect;
visibleMapRect.origin.y = visibleMapRect.size.height;
visibleMapRect.size.height *= 2;
map.visibleMapRect = visibleMapRect;