tags:

views:

308

answers:

2

Hi,

I have place a mapview as hidden in my application. The map image need to be obtained from the mapview and send as email. How can i get the map image from the hidden mapview.

Thanks,

A: 
  1. Setup pixel context using CGBitmapContextCreate
  2. Render MKMapView using [mapView.layer renderInContext:myContext]
  3. Get CGImage from context using CGBitmapContextCreateImage
  4. Wrap CGImage into UIImage if needed.
Nikolai Ruhe
+2  A: 

For SDK:

UIGraphicsBeginImageContext(self.mapView.bounds.size);
[self.mapView.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *mapImage = UIGraphicsGetImageFromCurrentImageContext();

For toolchain (using Private API)

CGRect rect = [self.mapView bounds];
// Change the snapshot rect if needed. 
CGImageRef image = [self.mapView createSnapshotWithRect:rect];
Mike Chen