CLLocationManager更新频率

时间:2012-01-10 13:25:01

标签: iphone ios4 core-location cllocationmanager

我已按如下方式配置了locationManager。

_locationManager = [[CLLocationManager alloc] init];
[_locationManager setDelegate:self];
[_locationManager setDesiredAccuracy:kCLLocationAccuracyNearestTenMeters];
[_locationManager setDistanceFilter:kCLDistanceFilterNone];

当应用程序运行时,我会从委托方法获得一些更新。 当我不改变位置,并且移动设备静止约2小时后,我在前10分钟内收到大约10-12个更新,然后停止接收更新。

据我所知, desiredAccuracy 是指设备将继续尝试越来越精确的方法来获取当前位置的时间。因此,在我的情况下,需要大约10分钟才能获得所需的准确度。

我想确认这是否属实。还有一种方法可以让我获得定期的位置更新,即使设备没有移动吗?

1 个答案:

答案 0 :(得分:5)

如果位置未更改,您为什么会期望更新位置?

如果您想定期刷新搜索结果,请使用自己创建的NSTimer


当设备获得具有误差幅度的位置时

期望的准确性,它将停止要求更准确的结果。如果设备移动,那么它将再次开始询问,直到它再次获得所需精度的位置。

如果您指定的精确度为10米,那么您几乎肯定会依赖GPS - 手机信号塔,并且wifi通常不那么准确。

要确定设备是否已移动,它会使用距离过滤器 - 通过将此设置为无,您要求它始终精确到最接近的10米 - 这可能会耗尽电池电量;)< / p>