iphone中的horizo​​ntalAccuracy和desiredAccuracy

时间:2012-04-19 02:29:16

标签: iphone

didUpdateToLocation之后,我的新位置(CLLocation)是

  

newLocation = [37.785834 -122.406417]

然后我打印了locationManager(CLLocationManager)的newLocation horizontalAccuracy的{​​{1}},它们是

  

horizo​​ntalAccuracy是5.000000

     

desiredAccuracy是10.000000

我的问题是这些数字来自哪里......如果你搬到另一个新的地方,它们会不会改变。

此外,在我创建并初始化CLLocationManager之后,其desiredAccuracy为-1.Again,-1是CLLocationManager的默认值?

请就这些问题向我提出建议。

由于

2 个答案:

答案 0 :(得分:4)

它们取决于CoreLocation属性desiredAccuracy,这些使它们成为启用位置机制的功能。你可以使用三种机制收音机,wifi,gps。您在管理器中要求的准确性越多,您获得的精度值越小(如果可能),您的电池使用次数就越多。通常,即使您设置使用导航精度,您将获得的第一个位置将具有很高的准确度值,因为gps信号需要检查卫星并且需要时间。您获得的精度值越小,您就越接近现实中的位置。 您获取核心loc Manager的日志只是精度值的枚举值

[更新]
是的,这些价值可能会改变例如,您使用GPS获得位置,进入建筑物。 GPS在建筑物内部不起作用,准确度值将根据新的定位机制而改变,如果切换到wifi,你应该看到300m-30m之间的东西。

答案 1 :(得分:1)

准确度会因许多因素而改变。蜂窝基站信号,GPS satalites可用性和Wi-Fi接入。负数表示该值很差,不应使用。您可以在代码中设置所需的准确度,但这不能保证......我希望这会有所帮助。