为什么我在 didFailWithError 后收到错误的 GPS 位置?
Why do I receive a wrong GPS position after didFailWithError?
我为 Apple Watch 2-3 开发了一个应用程序,它使用内部 GPS 来保存轨迹并获取速度、距离等信息。
该应用程序使用 Swift、XCODE9 编写并使用 CLLocation。
有时CLLocation发送didFailWithError,接下来的3-5个GPS位置完全错误,与真实点相距数百米。
我设置了 BestForNavigation 并检查了 horizontalAccuracy < 32m。我过滤过去的位置。
主要发生在手表进水的时候,哪怕是几厘米。
有人经历过吗?
谢谢
GPS卫星信号很弱;它们是从在您上方约 20,000 公里的轨道上运行的卫星传输的。要获得准确定位,GPS 接收器需要从 4 颗卫星获取信号(仅使用 3 颗卫星可以获得不太准确的定位)。
更糟糕的是,手表有一个相当小的 GPS 天线,GPS 系统使用的微波信号会被建筑物、树木、人体,尤其是水吸收。
老实说,考虑到困难,手腕上的这个小东西竟然能定位到10米以内的精度已经很了不起了。
你只需要用你得到的数据尽力而为。
我为 Apple Watch 2-3 开发了一个应用程序,它使用内部 GPS 来保存轨迹并获取速度、距离等信息。
该应用程序使用 Swift、XCODE9 编写并使用 CLLocation。
有时CLLocation发送didFailWithError,接下来的3-5个GPS位置完全错误,与真实点相距数百米。 我设置了 BestForNavigation 并检查了 horizontalAccuracy < 32m。我过滤过去的位置。
主要发生在手表进水的时候,哪怕是几厘米。
有人经历过吗?
谢谢
GPS卫星信号很弱;它们是从在您上方约 20,000 公里的轨道上运行的卫星传输的。要获得准确定位,GPS 接收器需要从 4 颗卫星获取信号(仅使用 3 颗卫星可以获得不太准确的定位)。
更糟糕的是,手表有一个相当小的 GPS 天线,GPS 系统使用的微波信号会被建筑物、树木、人体,尤其是水吸收。
老实说,考虑到困难,手腕上的这个小东西竟然能定位到10米以内的精度已经很了不起了。
你只需要用你得到的数据尽力而为。