2

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

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

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

1) 使用 activityindicator 停止启动 MKMapView 2) 使用硬编码位置启动 MKMapview,然后一旦用户位置可用,就将 mapview 区域设置为以该位置为中心

有什么建议么?

4

3 回答 3

1

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

于 2013-02-14T19:49:58.903 回答
1

将 的userTrackingMode属性设置mapviewMKUserTrackingModeFollow。您不需要位置管理器来mapView为您做这件事。当您以后想要重新定位地图时,请将属性设置为MKUserTrackingModeNone,然后重新定位您的地图。

于 2013-02-14T20:08:46.760 回答
0

做苹果做的事。开始真的很远缩小,可能会在屏幕上显示“正在扫描位置”的消息,然后当位置信息可用时放大。

于 2013-02-14T20:02:24.663 回答