我在我的iOS应用程序中使用了Google Maps API。在会话结束时,地图会缩小并截取屏幕截图。不幸的是,在截图之前,地图通常没有时间加载缩放显示的所有瓦片。
我看到苹果的MKMapView有一个mapViewDidFinishLoadingMap
代表。Google API中是否提供了类似的功能?
发布于 2016-02-03 15:07:38
Google Maps SDK for iOS有一个名为mapViewDidFinishTileRendering的方法,该方法在地图完成呈现时调用。
-(void)mapViewDidFinishTileRendering:(GMSMapView *)mapView{
//TAKE THE SCREENSHOT HERE
}
另外,别忘了设置委托。
发布于 2018-02-06 01:19:47
可以使用引用协议GMSMapViewDelegate的iOS SDK有一个函数mapViewSnapshotReady。
关于引用的描述:
当地图稳定(已加载瓷砖、渲染标签、相机空闲)和覆盖对象已渲染时调用
。
func mapViewSnapshotReady(_ mapView: GMSMapView) {
// map ready to use
}
发布于 2015-01-30 01:34:15
在Google Maps Javascript API中,您可以使用various UI events的事件侦听器,例如tilesloaded
事件。
但是,Google Maps iOS SDK没有任何事件侦听器。您必须使用GMSMapViewDelegate
委托方法来检测UI事件。根据您的情况,我认为mapView:idleAtCameraPosition:可能会对您有所帮助。
https://stackoverflow.com/questions/28206328
复制相似问题