2013-05-11 114 views
0

我是iOS新手。 我正在製作一個使用GPS位置更新的應用程序。 我正在獲取當前位置並將位置更新到服務器。 我想獲取儀表中的每一個變化並將其更新到服務器。 這裏是我使用的代碼:從GPS獲取每個位置更新

locationManager = [[CLLocationManager alloc] init] ; 
locationManager.delegate = self; // send loc updates to myself 
locationManager.distanceFilter = 1.0f; // whenever we move 
locationManager.desiredAccuracy = kCLLocationAccuracyBest; 
[locationManager startUpdatingLocation]; 

但每米後位置不更新。它會更新但不是經常更新。

感謝您的幫助!

回答

1

它不這樣工作。 iPhone使用的AGPS的準確度有限,取決於許多因素。它使用GPS,Wi-Fi和Cell Towers三角測量技術,並且在任何時候都可以使用這些三角測量的任意組合。所以,當GPS信號丟失,並且周圍沒有Wi-Fi熱點時,可能會根據Cell Towers位置獲得位置,這是非常不準確的(幾百米)。它可能比這更糟糕,你可能會得到緩存的位置,這是遠不及你目前的位置。即使你有GPS信號,你也無法期望在任何地方都能達到1米的精確位置。 GPS精度本身取決於許多因素。

+0

如果我擁有良好的Wi-Fi,那麼我可以期待一個新的位置協調多少距離後? – Impossible 2013-05-11 16:35:03

0

總是使用kCLLocationAccuracyBestForNavigation。與kCLLocationAccuracyBest之間沒有真正的電池使用差異,它們都以最高速度使用GPS。主要區別在於Apple所做的後期處理。因此,您可以嘗試使用kCLLocationAccuracyBestForNavigation。