2016-02-15 39 views
3

的準確性需要行駛距離我搜索的SO關於這個主題,我可以找到最新的結果是,從2014年3月和iOS7。關於重大位置變化的情況現在如何?我感興趣的位置,我得到更重要的是,多的距離必須如何走過來獲得更新的準確性。城市中的300米至400米的行程距離足以觸發更新?更多農村地區2公里多少錢?觸發顯著位置的變化更新和給定位置

如果我已經走過這個問題是關係到significant location change does not trigger on device

回答

0

當更新引發變化基於蜂窩塔和你多久配置CLLocationManager更新(即只得到更新之間的距離的組合1英里),你如何準確需要什麼類型的導航你正在使用它。

由於iOS針對電池進行了優化,因此無法保證您會按照您指定的頻率進行更新,特別是在更多的農村地區。

+0

如果我使用重大的位置更改,是否可以配置何時獲取位置更新?我的印象是,該選項僅適用於「標準位置更改」 - 連續位置更新。 – brumbrum

0

使用以下CLLocationManager屬性,你可以幫助你的自我

distanceFilter

討論: 指定米的最小距離更新。客戶端將不被通知的低於規定值的動作,除非精度有所提高。傳入kCLDistanceFilterNone通知所有動作。

默認情況下,使用kCLDistanceFilterNone。

desiredAccuracy

討論: 所需的位置精確度。位置服務將盡最大努力達到您想要的精確度。但是,不能保證。爲了優化功率性能,請務必爲您的使用場景指定適當的準確度(例如,僅在需要粗略位置時使用較大的準確度值)。使用kCLLocationAccuracyBest來達到最佳的準確性。使用kCLLocationAccuracyBestForNavigation進行導航。

  • 默認情況下,使用kCLLocationAccuracyBest。

    • kCLLocationAccuracyBest
    • kCLLocationAccuracyNearestTenMeters
    • kCLLocationAccuracyHundredMeters
    • kCLLocationAccuracyKilometer
    • kCLLocationAccuracyThreeKilometers
  • startMonitoringSignificantLocationChanges 啓動更新的一代基於significan t位置變化。

  • startUpdatingLocation 開始生成報告用戶當前位置的更新。

  • allowDeferredLocationUpdatesUntilTraveled:timeout: 要求位置管理器推遲位置更新的傳遞,直到符合指定條件。