示例中心
功能在线体验
控制台

高德 开发 iOS 地图SDK 开发指南 与地图交互 地图截屏功能

更新时间:2017年05月02日

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时,截图会出现不完整的现象,如下:

示例中心 功能
在线体验
常见问题