我在Swift中使用CLLocationManager。 当我显示location.coordinate时,它为我提供了结果:
37.787358900000001,经度:-122.408227
但是,如果我显示。 location.coordinate.latitude,结果为
37.7873589
你知道我怎么得到所有的小数吗?
谢谢, 托马斯
答案 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尽管有点过时了。