对于Android手机,您可以检索最后一个可用的位置点,无论您当前的位置服务是否打开,这非常有用,因为您可以在最新位置之前根据该位置进行猜测。可用。
我怎么能为iPhone做到这一点?假设当我尝试访问iOS位置服务时,用户已经走到室内。因此,无法获得最新的位置。我可以在上次用户暴露在天空下时检索位置吗?
谢谢!
答案 0 :(得分:2)
我不知道是否有可以直接使用的开箱即用方法。但在我的应用程序中,我使用了一个解决方案。我只是将最近的用户位置保存到NSUserDefault中,如此
- (void)setLastSavedLocation:(CLLocation *)location
{
[[NSUserDefaults standardUserDefaults] setDouble:location.coordinate.latitude forKey:@"kLocationManagerLatKey"];
[[NSUserDefaults standardUserDefaults] setDouble:location.coordinate.longitude forKey:@"kLocationManagerLngKey"];
[[NSUserDefaults standardUserDefaults] synchronize];
}
我会称之为获取数据:
- (CLLocation *)lastSavedLocation
{
if (![[NSUserDefaults standardUserDefaults] objectForKey:@"kLocationManagerLatKey"]) return nil;
return [[CLLocation alloc] initWithLatitude:[[NSUserDefaults standardUserDefaults] doubleForKey:@"kLocationManagerLatKey"]
longitude:[[NSUserDefaults standardUserDefaults] doubleForKey:@"kLocationManagerLngKey"]];
}
希望能给你一些解决这个问题的想法。