OSX(以及iOS):有没有办法知道缓存的用户GPS位置?

时间:2012-12-29 11:32:50

标签: ios macos geolocation location

为了确定用户的位置,我使用CoreLocation框架(我目前正在开发一个OSX应用程序(由于wifi确定位置)但我的问题也可能适用于iOS应用程序)和以下委托方法:

- (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation

由于某些原因,无法找到用户位置(例如,如果用户的计算机未连接到互联网),则会调用以下方法:

- (void)locationManager:(CLLocationManager *)manager didFailWithError:(NSError *)error

在这种情况下,我想获得最后一个已知的用户位置。我想知道是否有办法获得这个最后的已知位置。在某个地方是否有一系列以前确定的位置?

1 个答案:

答案 0 :(得分:0)

请参阅官方文档:

http://developer.apple.com/library/ios/ipad/#documentation/CoreLocation/Reference/CLLocation_Class/CLLocation/CLLocation.html#//apple_ref/doc/c_ref/CLLocation

根据这一点,

@property(readonly, nonatomic) CLLocation *location
  

如果没有位置数据,则此属性的值为nil   曾被检索过。 在iOS 4.0及更高版本中,此属性可能包含   发布时更新的位置对象。具体来说,如果   正在运行重要的位置更新,您的应用程   已终止,此属性将使用最新位置进行更新   重新启动应用程序时的数据(并创建一个新的   位置管理器对象)。此位置数据可能比最近的更新   您的应用程序处理的最后一个位置事件。

所以这是获取最后一个已知位置的唯一方法。 如果它不是零,你可以使用它!