如何在iOS中获取Google Maps的快照

时间:2020-04-17 02:56:07

标签: ios swift google-maps screenshot google-maps-sdk-ios

在我的iOS应用中,我打算使用以下代码获取Google Maps地图的快照:

UIGraphicsBeginImageContext(self.mapView.frame.size)
if let context = UIGraphicsGetCurrentContext() {
    self.mapView.layer.render(in: context)
}
self.imageSnapshot = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()

但是,返回的图像是黑屏图像,左下角有Google徽标。我该怎么做才能获得正确的地图图像快照?

1 个答案:

答案 0 :(得分:3)

假设mapViewGMSMapView的实例,则以下内容应该有效

let image = UIGraphicsImageRenderer(size: mapView.bounds.size).image { _ in
    mapView.drawHierarchy(in: mapView.bounds, afterScreenUpdates: true)
}

这是假设当然已经在调用此代码之前绘制了地图。