地图截屏功能 最后更新时间: 2021年01月22日
iOS 地图 SDK 支持对选定的屏幕地图区域(CGRect)进行截屏,截取的内容包括:地图、地图覆盖物、弹出气泡。
说明:地图截屏功能依赖于地图显示,即:只有内容先显示在地图上,才能进行截屏。
使用 MAMapView 中的 takeSnapshotInRect 方法进行截屏,该方法返回 UIImage 对象。示例代码如下:
__block UIImage *screenshotImage = nil;
__block NSInteger resState = 0;
[self.mapView takeSnapshotInRect:inRect withCompletionBlock:^(UIImage *resultImage, NSInteger state) {
screenshotImage = resultImage;
resState = state; // state表示地图此时是否完整,0-不完整,1-完整
}];
let screenshotImage = self.mapView.takeSnapshot(in: inRect)
当 state 参数为0时,截图会出现不完整的现象,如下: