分享MKMapView截图

时间:2014-02-05 11:55:14

标签: ios iphone xcode mkmapview mkmapsnapshotter

我有MKMapView,我想截取它并将其分享到社交网络,例如 Facebook 。我找到了一个很好的方法来制作屏幕截图,使用MKMapSnapshotter(从iOS 7开始提供),但我的问题是:我能够分享{{ 1}? Apple是否允许这样做?

我发现了this类似的问题,但没有给出任何明确的答案。

3 个答案:

答案 0 :(得分:2)

试用适用于iOS的Google Maps SDK: Documentation

要制作屏幕截图,请使用以下代码:

CGRect rect = [captureView bounds];
UIGraphicsBeginImageContextWithOptions(rect.size,YES,0.0f);
CGContextRef context = UIGraphicsGetCurrentContext();
[captureView.layer renderInContext:context];   
UIImage *capturedImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();

答案 1 :(得分:1)

是的,苹果为什么会反对你?

您一定可以分享图片。正如您所提到的那样,您只需要使用默认共享表。这是代码:

NSArray *activityItems = [NSArray arrayWithObjects:yourImage, nil];
UIActivityViewController *aActivityView = [[UIActivityViewController alloc] initWithActivityItems:activityItems applicationActivities:nil];
aActivityView.modalInPopover = UIModalTransitionStyleCoverVertical;
[self presentViewController:aActivityView animated:YES completion:^{

}];

这将显示UIActivityViewController的视图,其中包含共享选项。

希望这有帮助。

答案 2 :(得分:0)

我的直觉是; Apple为何不允许这样做?

如果您已经设法使用Apple提供的UIImage抓取MKMapView MKMapSnapshotter代表{I},我会猜测Apple已经为您提供了所需的工具无论你想要什么样的图像,所以对你用它做什么没有任何限制。