【问题标题】:GPS location updates in CLLocationmanagerCLLocationmanager 中的 GPS 位置更新
【发布时间】:2013-02-01 10:02:27
【问题描述】:

我正在开发一个应用程序。我正在使用 CLLocation Manager 获取位置更新。我知道当我调用启动位置更新方法时 gps 已关闭,而当我们调用停止位置更新时 gps 已关闭。但我想关闭 gps,我仍然想使用蜂窝塔或 wifi 获取位置更新。如何做到这一点。

【问题讨论】:

    标签: iphone


    【解决方案1】:

    您可以使用CLLocationManagerdesiredAccuracy 属性告诉系统位置需要有多准确。您无法控制是否打开 GPS,但将desiredAccuracy 设置为较低的精度会消耗较少的电量。

    来自CLLocationManager Class Reference

    接收机尽最大努力达到要求的精度;但是,不能保证实际的准确性。

    您应该为此属性分配一个适合您的使用场景的值。换句话说,如果您只需要几公里范围内的当前位置,则不应为精度指定 kCLLocationAccuracyBest。更准确地确定位置需要更多时间和更多精力。

    在请求高精度位置数据时,位置服务提供的初始事件可能没有您请求的精度。定位服务尽快提供初始事件。然后,它会继续按照您要求的准确度确定位置,并在数据可用时根据需要提供其他事件。

    【讨论】:

    • 好吧,那是不可能的。
    • 除了 GPS 之外,还有其他任何方法可以使用蜂窝塔或 wifi 获取位置更新
    • 您永远不知道操作系统何时决定打开 GPS。您可以监控重大的位置变化,但如果没有 GPS 就无法确定位置,即使是这些变化也会回退到 GPS。
    • 阅读位置感知编程指南,尤其是“获取用户位置”部分:developer.apple.com/library/ios/#documentation/UserExperience/…
    猜你喜欢
    • 2012-03-30
    • 1970-01-01
    • 2011-08-27
    • 2014-12-29
    • 2015-06-07
    • 1970-01-01
    • 1970-01-01
    • 2015-12-21
    相关资源
    最近更新 更多