2014-02-16 74 views
1

對於android手機,無論您當前的位置服務是否打開,您都可以檢索上一個可用的位置點,這非常有用,因爲您可以在最新的位置可用之前根據此猜測進行猜測。iphone - 位置服務,最後一個可用位置?

我該怎麼做iPhone呢?假設當我嘗試訪問iOS位置服務時,用戶已經走到室內。因此,最新的位置不可用。上次用戶暴露在天空下時,我是否可以找回位置?

謝謝!

回答

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"]]; 
} 

希望這將讓您的一些想法來解決這個問題。

+0

謝謝!我認爲這已經足夠好了。 – noooooooob