2016-02-15 32 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: 要求位置管理器推迟位置更新的传递,直到符合指定条件。