4

物业具体locationmanager.distancefilter是做什么的?它是否确定该didUpdateTolocation方法被调用的频率?

4

1 回答 1

9

它过滤掉短动作。因此,如果 CL 检测到设备移动了 20 米,但您的距离过滤器设置为 30m,您将不会收到通知。一旦位置移动到足以超过您的距离过滤器设置,您将获得 didUpdateToLocation 回调。

即使设备没有移动,GPS 定位结果也很常见。您可以静止不动,但如果位置精度为 +/- 10 米,即使设备没有移动,报告的位置也可能会变化 20m。使用 distanceFilter 可以过滤掉那种无关的运动。

如果您想了解更多信息,请查看我在CLLocationManager-simulator中的 distanceFilter 实现,就在注释“Apply distanceFilter”下方。

于 2010-07-27T14:36:25.280 回答