I have an application which plots a flights route on an MKMapView. After the route is loaded, there is a small calculation which finds the north-east and south-west points. Then using the 2 points a MKMapRect is created to zoom to the rect, after setVisibleMapRect is called. This however works on small routes, but not routes typically that span more than 90 degrees.
NSLog(@"North East: %f, %f", northEastPoint.x, northEastPoint.y);
NSLog(@"South West: %f, %f", southWestPoint.x, southWestPoint.y);
MKMapRect swRect = MKMapRectMake(southWestPoint.x, southWestPoint.y, 0, 0);
MKMapRect neRect = MKMapRectMake(northEastPoint.x, northEastPoint.y, 0, 0);
MKMapRect zoomRect = MKMapRectUnion(neRect, swRect);
[_map setVisibleMapRect:zoomRect animated:NO];
For a route from Finland to Hong Kong the points are:
// North East: 219158701.181065, 117406780.189312
// South West: 152831738.959918, 77478198.921545
Which centers the map quite nicely:

However a similar route from London to Hong Kong the points are:
// North East: 219158701.181065, 117406780.189312
// South West: 133873691.426088, 77821652.051143
Which does not center… stays at 0, 0

Any ideas why?? it has been bugging me for a while. I think it might have something to do with that the route exceeds 90 degrees longitude.
This was a bug in IOS, this has been resolved in iOS 5.1