Set the Zoom Level of MKMapView

A very nice MKMapView category by Troy Brant that allows you to zoom the map by settting the zoom level (as in the Javascript Google Maps API) in addition to Apple’s way of zooming by modifying the map’s region:

Unfortunately, MapKit on the iPhone does not include a way to set the zoom level. Instead, the zoom level is set implicitly by defining the MKCoordinateRegion of the map’s viewport. When initializing the region, you specify the amount of distance the map displays in the horizontal and vertical directions. The zoom level is set implicitly based on these distance values. Instead of dealing with this region business, I wrote a category that adds support for setting the zoom level of an MKMapView explicitly.

Troy also wrote an extensively detailed post on the mathematical background of his code. Great stuff!