在LocationManager获得用户位置之前,MKMapView加载 - 无法将Region设置为用户位置的中心

时间:2013-02-14 19:47:05

标签: ios mkmapview cllocationmanager userlocation mkcoordinateregion

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

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

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

1)使用activityindicator停止启动MKMapView 2)使用硬编码位置启动MKMapview,然后只要用户位置可用,就可以为mapview区域设置动画,使其位于该位置的中心位置

有什么建议吗?

3 个答案:

答案 0 :(得分:1)

当您转到后台或应用关闭时,存储最后一个已知的纬度/经度 在起始中心地图视图上显示最后的已知位置 位置管理员发送更新后的位置后,立即更新地图中心。

答案 1 :(得分:1)

userTrackingMode的{​​{1}}属性设置为mapview。您不需要位置管理员,MKUserTrackingModeFollow为您完成此操作。如果您以后想要重新定位地图,请将该属性设置为mapView,然后重新定位地图。

答案 2 :(得分:0)

做Apple的工作。开始真的远远缩小,可能会在屏幕上显示“扫描位置”,然后当位置信息可用时放大。