2011-10-12 93 views
0

無法爲重大的位置變化設置理想的精度。我已經嘗試過,它爲horizo​​ntalAccuracy返回了默認值1414。區域更改更新方法在準確性方面更好嗎?是否可以設置它,以及區域更改更新允許的最大準確度是多少?重要位置和區域更改更新有何區別?

回答

1

-monitorForSignificantLocationChange沒有準確性。這是一個內置的顯示器,旨在用於廣泛的更新,精度低(但可以根據應用程序足夠精確),並且延長電池壽命。它的工作原理與-monitorForRegion方法相同。它會在它認爲你已經移動了一點點的時候更新(例如,手機信號塔轉換,新的wifi連接等)。它也會從其他使用位置的應用中竊取/借用位置信息。所以考慮它如何獲得你的位置可能是相當準確的。

如果你需要在背景中的精確位置......你將不得不犧牲電池壽命。唯一的另一種選擇是犧牲一些定位精度。根據我的經驗,通過重大變化和區域監測返回的位置非常準確。

區域監測可以進行精確度設置。但它主要來自你的-locationManager設置。一旦你進入後臺,你就再次受制於系統。我不是100%確定你的-monitorForRegion是否會保持設定的準確性水平,我的猜測是否定的。主要是由於電池壽命的限制。希望這可以幫助。

+0

謝謝。我需要使用像GSM這樣的耗電量低的方法來維護和監控地點列表。對於這種情況,GPS是嚴格禁止的。當用戶進入半徑1-2公里的區域時(包括錯誤和準確性),就足以提醒用戶。我的意思是,1-2公里半徑區域是我需要檢查用戶所在的真實實際區域。所以,我想通過GSM獲得最大精度,並且我正在考慮使用期望的精度與kCLLocationAccuracyKilometer(不確定可能使用GPS的kCLLocationAccuracyHundredMeters)。 – Centurion

+0

我嘗試了使用kCLLocationAccuracyKilometer半徑1000米的區域,但是當我從工作到家到約3公里的距離旅行時,並沒有給我任何更新。然後我將區域半徑縮小到500米,並將所需的精度設置爲kCLLocationAccuracyBestForNavigation(GPS)。然後我得到了通知。我很難猜測什麼應該是區域半徑和希望的準確度值(GSM)的最佳組合,它可以在世界各地使用。這個地方是機場的一些物體。如果您有任何建議,您能建議我嗎? – Centurion

+0

忘了提。我也嘗試設置1米半徑的地區和使用kCLLocationAccuracyKilometer。我雖然會給1001公里的實時區域跟蹤,但沒有解決。所以目前,我正在嘗試500米的區域半徑和kCLLocationAccuracyKilometer。您是否嘗試過使用區域,您使用了哪些值? – Centurion