【发布时间】:2013-02-01 10:02:27
【问题描述】:
我正在开发一个应用程序。我正在使用 CLLocation Manager 获取位置更新。我知道当我调用启动位置更新方法时 gps 已关闭,而当我们调用停止位置更新时 gps 已关闭。但我想关闭 gps,我仍然想使用蜂窝塔或 wifi 获取位置更新。如何做到这一点。
【问题讨论】:
标签: iphone
我正在开发一个应用程序。我正在使用 CLLocation Manager 获取位置更新。我知道当我调用启动位置更新方法时 gps 已关闭,而当我们调用停止位置更新时 gps 已关闭。但我想关闭 gps,我仍然想使用蜂窝塔或 wifi 获取位置更新。如何做到这一点。
【问题讨论】:
标签: iphone
您可以使用CLLocationManager 的desiredAccuracy 属性告诉系统位置需要有多准确。您无法控制是否打开 GPS,但将desiredAccuracy 设置为较低的精度会消耗较少的电量。
来自CLLocationManager Class Reference:
接收机尽最大努力达到要求的精度;但是,不能保证实际的准确性。
您应该为此属性分配一个适合您的使用场景的值。换句话说,如果您只需要几公里范围内的当前位置,则不应为精度指定 kCLLocationAccuracyBest。更准确地确定位置需要更多时间和更多精力。
在请求高精度位置数据时,位置服务提供的初始事件可能没有您请求的精度。定位服务尽快提供初始事件。然后,它会继续按照您要求的准确度确定位置,并在数据可用时根据需要提供其他事件。
【讨论】: