objective-c - MKMapview 如何检查(探测)地图是否已加载?
问题描述
如何检查地图是否已加载到 MKKapview 中?我的意思是......要求地图视图准备好 - 而不是等待通知mapViewDidFinishLoadingMap:
它不会通知它是否已经缓冲?
我用于更好地理解问题的用例:我的应用程序应该使用 MKMapview打印在后台创建的地图。加载地图可能需要一段时间,因此如果不检查准备情况,地图将不完整。这可以在预览中清楚地看到。第一次使用mapViewDidFinishLoadingMap:
帮助。但是,如果我只是用稍微不同的区域再次打印,我将不会收到通知。
这是我的代码片段
-(IBAction)print:(id)sender {
[self prepareClonedMap];
}
-(void) prepareClonedMap {
[self cloneMap:scaling];
// I would like here ... if ( mapIsReady ) [self executePrint];
}
-(void)mapViewDidFinishLoadingMap:(MKMapView *)mapView {
[self executePrint];
}
-(void)executePrint {
// make MKMapSnapshot
// create printoperation
.....
}
-(void)cloneMap:(CGFloat) factor {
NSRect myframe;
// expand to max factor
myframe=mapView.frame;
myframe.size.height = myframe.size.height * factor,
myframe.size.width = myframe.size.width * factor;
// reduce to max dimensions
myframe.size = [self maxDimensionWithRatio:myframe.size];
[cloneView setFrame:myframe];
[cloneView setRegion:[mapView region]];
}
解决方案
推荐阅读
- go - 在 Go 中如何使用 heap 包?
- python - 在 ubuntu 上使用 pycharm 时导入 gnuradio
- apache - 安装新版本的 Xubuntu 19.10 后 Phpmyadmin 无法正常工作
- matlab - 连续数岛的计数长度和频率
- asp.net-core - ASP.NET Core OAuth 不适用于 Safari
- javascript - HTML5 如何获取视频的第一帧
- javascript - Reactjs - /src/App.js 找不到文件:'index.js' 与磁盘上的相应名称不匹配:'.\s rc\Routes\Detail\routes'
- simulation - 如何在 NetLogo 上模拟相同的场景 3 次?
- java - Facebook Graph API 错误 - 应用按钮自动检测已禁用
- react-native - React-Native App 在导航时崩溃