Swift:使用纬度/经度时坐标不准确

时间:2018-06-21 09:57:54

标签: swift core-location coordinate

我在Swift中使用CLLocationManager。 当我显示location.coordinate时,它为我提供了结果:

37.787358900000001,经度:-122.408227

但是,如果我显示。 location.coordinate.latitude,结果为

37.7873589

你知道我怎么得到所有的小数吗?

谢谢, 托马斯

1 个答案:

答案 0 :(得分:1)

由于nature of representing floating point numbers in a computer.,您看到的是37.787358900000001而不是37.7873589

也就是说,不必担心超出第六位的小数位,因为即使将9更改为8也将导致大约1厘米的变化。 GPS系统目前的精确度约为+/- 5米,并且新芯片being deployed by Broadcom可以在不久的将来减小到大约+/- 30厘米。

  

顺便说一句,您知道为什么海拔会不断更新/变化,甚至   设备何时在桌子上静止不动?

高度计算是通过计算每12个小时绕地球运行一次的可见GPS​​卫星的距离进行的。由于卫星不断移动,并且出现了不同的卫星,因此这些计算的确会发生波动。 This article尽管有点过时了。