在didUpdateToLocation
之后,我的新位置(CLLocation)是
newLocation = [37.785834 -122.406417]
然后我打印了locationManager(CLLocationManager)的newLocation horizontalAccuracy
的{{1}},它们是
horizontalAccuracy是5.000000
desiredAccuracy是10.000000
我的问题是这些数字来自哪里......如果你搬到另一个新的地方,它们会不会改变。
此外,在我创建并初始化CLLocationManager之后,其desiredAccuracy为-1.Again,-1是CLLocationManager的默认值?
请就这些问题向我提出建议。
由于
答案 0 :(得分:4)
它们取决于CoreLocation属性desiredAccuracy,这些使它们成为启用位置机制的功能。你可以使用三种机制收音机,wifi,gps。您在管理器中要求的准确性越多,您获得的精度值越小(如果可能),您的电池使用次数就越多。通常,即使您设置使用导航精度,您将获得的第一个位置将具有很高的准确度值,因为gps信号需要检查卫星并且需要时间。您获得的精度值越小,您就越接近现实中的位置。 您获取核心loc Manager的日志只是精度值的枚举值
[更新]
是的,这些价值可能会改变例如,您使用GPS获得位置,进入建筑物。 GPS在建筑物内部不起作用,准确度值将根据新的定位机制而改变,如果切换到wifi,你应该看到300m-30m之间的东西。
答案 1 :(得分:1)
准确度会因许多因素而改变。蜂窝基站信号,GPS satalites可用性和Wi-Fi接入。负数表示该值很差,不应使用。您可以在代码中设置所需的准确度,但这不能保证......我希望这会有所帮助。