我正在使用Google Maps for iOS,我需要创建地图快照。我知道该怎么做。
我无法做到的是在幕后进行。我无法创建用户无法看到的地图,设置边界和标记,然后拍摄照片。图片最后空白。
我使用的代码(Swift)基本上是
var mapView = GMSMapView(frame: CGRect(x: 0, y: 0, width: 300, height: 300));
我指向地图然后等待地图图块加载
UIGraphicsBeginImageContext(mapView.frame.size);
mapView.layer.renderInContext(UIGraphicsGetCurrentContext());
var screenShotImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
但我只是在左下角看到一个带有Google徽标的灰色框。
答案 0 :(得分:0)
以下对不同问题的回答说,Google Maps for iOS无法实现我的目标。
https://stackoverflow.com/a/26279120/1672356
它建议谷歌地图的静态地图网络服务作为替代方案,但我使用带有自定义图标和静态地图的标记要求您通过某些网址公开提供这些标记,我不能轻易做到这一点。
最后我砍了它。我弹出一个灰色的大屏幕,上面写着“请等待”的消息,然后在我的背后我有一个谷歌地图,我操纵并截取屏幕截图,然后删除地图和灰色屏幕并继续。
呃。
我甚至不知道地图何时完成加载,所以我猜测5秒通常是足够的时间。
叹息。