If you are interested in rendering images or overlaying graphic fragments, rather than vector forms, the subclass MKOverlayView and the definition of [-canDrawMapRect: zoomScale] and [drawMapRect: zoomScale: inContext:] can do it for you.
I have an example that uses [-canDrawMapRect: zoomScale] to check the local cache and asynchronously handle the load on the tiles (if the tile is not cached), and then [drawMapRect: zoomScale: inContext:] to handle rendering of UIImage in the context of CoreGraphics.
http://github.com/mtigas/iOS-MapLayerDemo
source
share