2013-10-24 21 views
2

位置做了更新調用三個時間和位置沒有失敗,錯誤即使沒有數據接收 不叫更新如何避免調用位置做了更新三次和呼叫確實失敗,錯誤沒有數據接收?如何避免調用位置並三次


IM不採取有關Internet連接

+0

爲什麼位置更新需要互聯網?如果它是一款真正的iPhone,它有一個GPC芯片,它可以在沒有互聯網的情況下同時工作(可以花20分鐘來更新年曆)。你究竟遇到什麼問題?試圖在這裏解決? – JustSid

回答

1

如何避免調用三次位置更新?

適用於iOS的位置更新委託可以調用幾個時間取決於速度不是三次 所以使用布爾變量來表示

如何調用都失敗,錯誤沒有互聯網連接?

您已設置位置馬槽委託具有自我

+1

位置設置代表自我 –

0

如何避免調用三次位置沒有更新?

在此方法中,將位置管理器的委託設置爲零。

如何打電話確實失敗,沒有互聯網連接的錯誤?

爲什麼要調用它?地點可能來自三個來源:GPS收音機,蜂窩和WiFi,但不是來自互聯網。

0

的LocationManager didUpdateToLocation始終爲您在位置變化。如果它飛多個位置,它會多次調用。你可以用不同的方式避免它。但是如果用戶改變了他的當前位置,這將不會更新位置。

您可以使用此代碼來獲取位置並繼續進行。

- (無效)的getLocation {

locationManager = [[CLLocationManager alloc] init] ; 
locationManager.delegate = self; 
locationManager.desiredAccuracy = kCLLocationAccuracyNearestTenMeters; 

// [的LocationManager startUpdatingLocation];註釋以避免多次呼叫,或者您可以說更新當前位置 CLLocation * newLocation = [locationManager location]; CLGeocoder * geoCoder = [[CLGeocoder alloc] init]; [地理編碼reverseGeocodeLocation:newLocation completionHandler:^(NSArray的*標,NSError *錯誤){

NSString * location = ([placemarks count] > 0) ? [[placemarks objectAtIndex:0] locality] : @"Not Found"; 
    NSLog(@"location:%@",location); 
    NSLog(@"lat:%f",locationManager.location.coordinate.latitude); 
    NSLog(@"long:%f",locationManager.location.coordinate.longitude); 
}]; 

}

相關問題