2014-09-10 52 views
1

我目前正在寫一個使用iOS的顯着位置更改服務管理很多很多的地理圍欄的,啓用和禁用地理圍欄我們收到來自CoreLocation框架此消息的移動iOS應用。重要位置更改 - 我們有什麼保證?

在蘋果開發者網站,它說:

的顯著變化的位置服務提供了更新,只有當出現了設備的位置顯著變化,如500米以上。

真正引發我離開是「中國500米以上」,究竟是一種基於顯著位置變化的服務,我們究竟有什麼保證?

該API是否可靠用於跟蹤區域之間的變化,以便當我們收到消息時,我們知道是時候重新分配地理圍欄(假設每500米半徑有少於20個地理圍欄)?

回答

8

我的10個真實用戶設備使用取得位置顯著改變API運行一個小的應用程序的實驗兩週(所以他們去上班,回家,週末外出等)的測試運行大都市環境(意大利米蘭)。大約有1800個重要的位置更新事件被註冊。

核心結果是:

  • 有大約每天10次的位置更新的平均
  • 通過CoreLocation陳述的水平精度具有分佈如表中所示波紋管
  • 這並不能保證但是,一旦用戶從最後一次位置更新定義的圓圈中移出,並且其水平精度CoreLocation將發送新的位置事件。換句話說,你無法確定用戶在任何特定時刻都在這個圈子裏。
  • 如果其他應用程序使用設備上的全球定位系統(例如導航過程中),抵達我的應用程序的位置事件也更準確。

分配表應按如下方式閱讀:第一列是以米爲單位的水平精度,第二列是位置更新的百分比與第一列相等或更精確。

Accuracy Cumulative distribution 
    10m  23.76% 
    20m  23.76% 
    50m  23.76% 
    100m  49.86% 
    200m  65.09% 
    400m  65.31% 
    500m  65.31% 
1000m  68.66% 
2000m  92.64% 
4000m  97.82% 
>4000m  100.00% 

所以,換句話說,幾乎2/3的位置更新的一部分,更準確,然後200米。

1

500米是0.31英里 - 大約三英里。他們沒有指定它的確切程度,但是基於使用GPS和核心位置框架的測試,它非常準確(即使在代碼中沒有調用startupdatinglocation方法,它也應該跟蹤腳步距離)。

+0

我同意,在顯著位置改變我的經驗來更新定期漂亮 - 當然這很大程度上取決於環境 - 在一個開放的空間,GPS接收會比在一個城市或室內更好。如果您的地區人口密集,您可能還想使用'CLCircularRegion'的'containsCoordinate'方法,以防更新觸發時您已經進入其中一個區域 – Paulw11 2014-09-10 23:53:34

+0

實際上,除非某個應用程序(無論是系統還是第三方)積極使用位置服務,絕對*不*「跟蹤距離」。發射無線電以獲得解決方案 - 尤其是準確無誤 - 需要大量的功率。如果位置服務沒有被使用,系統會關閉它們以免殺死電池。你作爲開發人員必須決定你真正需要多少準確性。如果500米不夠準確,您希望使用定期的位置服務而不是重大更改。 – 2014-09-10 23:57:51

相關問題