【问题标题】:Share MKMapView screenshot分享 MKMapView 截图
【发布时间】:2014-02-05 11:55:14
【问题描述】:

我有一个MKMapView,我想截取它并分享到社交网络,例如 Facebook。我找到了一种制作屏幕截图的好方法,使用 MKMapSnapshotter(从 iOS 7 开始提供),但是我的问题是:我可以分享 MKMapView 的屏幕截图吗?苹果允许吗?

我找到this类似的问题,但没有给出明确的答案。

【问题讨论】:

  • 联系 Apple 并获得他们的书面许可,或联系律师。案件并不像两个答案看起来那样清楚。我不会在应用程序之外使用这种材料。按 MKMapView 中的“法律”链接并查看自己“[...] 此材料是专有的,受 TomTom 或其供应商拥有的版权保护、数据库权利保护和其他知识产权的保护。使用本材料的所有内容均受许可协议条款的约束。任何未经授权的复制或披露本材料将导致刑事和民事责任。"。
  • @MatthiasBauch 谢谢你的建议
  • 我投票结束这个问题,因为它不是关于编程的。

标签: ios iphone xcode mkmapview mkmapsnapshotter


【解决方案1】:

试用适用于 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();

【讨论】:

    【解决方案2】:

    当然可以,为什么苹果会反对你?

    您当然可以分享图片。正如您所提到的,您拥有只需要使用默认共享表的图像。这是代码:

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

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

    希望这会有所帮助。

    【讨论】:

      【解决方案3】:

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

      如果您已经设法使用 Apple 提供的 MKMapSnapshotter 获取 MKMapViewUIImage 表示,我会冒险猜测 Apple 已经为您提供了所需的工具,您可以对图像进行任何操作所以你用它做什么就不会有任何限制。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-04-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多