2011-03-04 47 views
2

我正在使用核心位置通過iphone識別用戶的位置。現在,當應用程序啓動,我去[locationManager startUpdatingLocation],警告框顯示文本「應用程序想使用您的當前位置」。理想情況下,當用戶在此警報框上按下確定時,我想要開始時間nstimer。顯然,無法捕獲alertbox響應,因此我所做的就是在應用程序以10秒的超時時間開始時立即啓動計時器。當然,這意味着如果用戶沒有及時按下alertbox上的按鈕,計時器就會超時,這就是位置過程的結束。超時計時器的原因是,即使在晴朗的天空下,應用程序也需要相當長的時間來識別用戶的位置。核心位置正常工作的超時期限

所以我想我要問的是,核心位置服務的理想超時期限應該是什麼,因爲定時器和位置服務都是在應用程序啓動時啓動的?

回答

1

這裏很難給出一般性建議,因爲它確實取決於您想要的數據的準確性和新鮮度。通常,您會收到多個不同年齡和準確度的核心位置更新。通常情況下,您將首先收到一箇舊的緩存位置。然後,您將收到基於WiFi和手機信號塔三角測量的更新。 GPS更新需要最長的時間,並依賴晴天。所以,如果你用細胞塔精確度(約3公里)進行緩存位置更新沒有問題,那麼你通常不需要等很長時間。 20秒的時間應該是絕對好的。當然,如果你想覆蓋「無載體」的情況,並因此依賴GPS,情況就不同了。