desiredAccuracy和distanceFilter之间的差异

时间:2011-08-08 08:16:06

标签: iphone xcode mkmapview cllocationmanager

很抱歉这里是个菜鸟。我无法清楚地区分CLLocationManager的属性 distanceFilter desiredAccuracy

如果我希望我的应用程序为甚至很小的距离(例如100-200米)提供不同的坐标,我应该为这些属性设置什么值。

非常感谢帮助。

2 个答案:

答案 0 :(得分:9)

根据developer.apple.com

  

distanceFilter

     

设备必须横向移动的最小距离(以米为单位)   在生成更新事件之前。

这意味着,根据之前的位置事件,只有在超过distanceFilter值距离后才会收到另一个位置更新。

desiredAccuracy指的是您的位置数据的准确程度。 例如,如果您希望看到您所在的确切街道,则此参数的精度值很高。 (kCLLocationAccuracyBest) 如果您只想查看大致区域(例如您所在的区域),则为此参数设置较低的准确度值。 (kCLLocationAccuracyThreeKilometers)

选择此选项以满足您的需求,但请注意,您希望获得的信息越精确,请求更新的次数越多,从设备中消耗的电量就越多。

希望这有帮助, 维拉德

答案 1 :(得分:3)

distanceFilter - 这是设备应从之前使用 ... didUpdateToLocation:... 方法传递给委托的位置传递的最小距离。一旦距离到达位置服务将再次调用 ... didUpdateToLocation ... ,依此类推。

desiredAccuracy - 告诉位置服务您想要的坐标精确程度,这是最小的位置误差半径。如果价值非常低(例如5),无线电将尝试使用GPS硬件并且将继续为其供电,以使其提供最准确的位置。如果值很大,则系统可能决定使用从WiFi热点位置三角测量中检索的数据。