ios - MKMapView 在 LocationManager 获取用户位置之前加载 - 无法将区域设置为以用户位置为中心

标签 ios mkmapview cllocationmanager userlocation mkcoordinateregion

我有一个 iOS 应用程序,我在应用程序启动时加载 MKMapView。我想将“MKCooperativeRegion”的中心设置为用户纬度/经度。但是,CLLocation Manager 实例在 MKMapView 加载之后才会更新用户位置。

现在我正在将 map 中心坐标硬编码到应用程序中。但我想知道是否有人可以提出更好的方法来处理这种情况。

我可以想到两种方法,但我不喜欢其中任何一种:

1) 使用事件指示器停止启动 MKMapView 2) 使用硬编码位置启动 MKMapview,然后一旦用户位置可用,就将 map View 区域设置为以该位置为中心的动画

有什么建议吗?

最佳答案

当您进入后台或应用程序关闭时,存储最后已知的纬度/经度。
从开始中心 map View 到最后一个已知位置。
位置管理器发送更新位置后,立即更新 map 中心。

关于ios - MKMapView 在 LocationManager 获取用户位置之前加载 - 无法将区域设置为以用户位置为中心,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14882814/

相关文章:

ios - 有没有办法找到 objective-c 中当前时区日期或时间与系统时间之间的差异

ios - 适用于 iphone 和 ipad 的应用程序的启动图像

javascript - Phonegap iOS 推送通知示例

ios - 快速将多个图像添加到单个 UIButton

ios - 单击时弹出 View MapView 注释

ios - 分享 mkmapview 截图

ios - 最小化 launchOptionsLocation key 发现上的 didFinishLaunchingWithOptions 进程?

core-location - iOS 6 和定位服务不工作

ios - UI 模板 View - iOs 应用程序所有场景中的通用 UI 元素?

objective-c - MKMapView 上触摸事件/注释选择的 Z 顺序