更新された回答: Mapbox Maps SDK for iOS 3.7.0+ includes MGLMapSnapshotter
, これにより、マップ ビューなしでラスター化されたマップが取得されます —基本的な実装については、この例を参照してください。
後世のために、古い答えは以下に保持されています...
スナップショット方式はMGLMapView
まだありませんが、予定されています。
それまでの間、これらはベース マップとマップ UI を含むマップ ビュー (およびそのマップ ビューのみ) のコンテンツを取得します。
Objective-C :
- (UIImage *)snapshot:(UIView *)view {
UIGraphicsBeginImageContextWithOptions(view.bounds.size, YES, 0);
[view drawViewHierarchyInRect:view.bounds afterScreenUpdates:YES];
UIImage *snapshot = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return snapshot;
}
スウィフト:
func snapshot(view: UIView) -> UIImage {
UIGraphicsBeginImageContextWithOptions(view.bounds.size, true, 0)
view.drawViewHierarchyInRect(view.bounds, afterScreenUpdates: true)
let snapshot = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
return snapshot
}
