Я использую тот же код, который протестирован с ios sdk 4.1 и работает нормально. Таким образом, когда карта уже отображается пользователю и пользователь нажимает кнопку, это действие будет вызвано:
UIImage *image = [mapView renderToImage];
и вот функция-обертка, реализованная как расширение UIView:
- (UIImage*) renderToImage
{
UIGraphicsBeginImageContext(self.frame.size);
[self.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return image;
}
Итак, проблема не в этой части кода.