从MKMapView获取地图图像

时间:2009-10-12 09:29:36

标签: iphone

我在我的应用程序中隐藏了一个mapview。地图图像需要从mapview获取并作为电子邮件发送。如何从隐藏的地图视图中获取地图图像。

谢谢,

2 个答案:

答案 0 :(得分:12)

对于SDK:

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

对于工具链(使用私有API)

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

答案 1 :(得分:0)

  1. 使用CGBitmapContextCreate
  2. 设置像素上下文
  3. 使用MKMapView
  4. 渲染[mapView.layer renderInContext:myContext]
  5. 使用CGImage
  6. 从上下文中获取CGBitmapContextCreateImage
  7. 如果需要,将CGImage包裹到UIImage