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



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

37.787358900000001, 经度: -122.408227

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

37.7873589

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

谢谢 托马斯

您看到的是37.787358900000001而不是37.7873589,因为在计算机中表示浮点数的性质。

也就是说,担心第 6 位以上的小数位是没有意义的,因为即使将9更改为8也会导致大约1厘米的变化。 GPS系统目前精确到约+/- 5米,并且随着Broadcom部署的新芯片,在不久的将来可以减少到约+/- 30厘米。

顺便问一下,你知道为什么海拔不断更新/变化,甚至 当设备在桌子上静止不动时?

高度计算是通过计算到每 12 小时绕地球运行的可见 GPS 卫星的距离来完成的。 由于卫星不断移动,并且不同的卫星进入视野,因此这些计算确实倾向于波动。 这篇文章虽然有点过时,但很有启发性。

最新更新