MKMapViewZoom seems to have some class methods that can convert between flat maps (geometric) and curved maps (geographical) coordinates, although I have not tested them. Someone give me thumbs if this really works.
//convert from WGS84 (geographic coordinates) to UTM (geometric coordinates) + (double)longitudeToPixelSpaceX(double)pixelX + (double)latitudeToPixelSpaceY(double)pixelY //convert from UTM to WGS84 + (double)pixelSpaceXToLongitude(double)longitude + (double)pixelSpaceYToLatitude(double)latitude
some kind of documentation here
UPDATE:
This is crazy, but in order for this source code of this class to work exactly, I basically had to extract the methods into my own domain, then remove the parts of the code that refer to MERCATOR_OFFSET and change the MERCATOR_RADIUS to meters of the Earth's radius. I was kind of, well, really surprised when I discovered that it really worked.
source share