为什么在didFailWithError之后我收到错误的GPS位置?

时间:2018-04-26 13:13:18

标签: ios swift watchkit cllocation didfailwitherror

我为Apple Watch 2-3开发了一款应用程序,它使用内置GPS来保存音轨并获得速度,距离等。

应用程序是用Swift,XCODE 9和CLLocation编写的。

有时CLLocation发送didFailWithError,接下来的3-5个GPS位置完全错误,距离真实点数百米。 我设置了BestForNavigation,然后检查horizo​​ntalAccuracy< 32米。我过去过滤了地点。

主要发生在水中的手表,甚至几厘米。

有人经历过吗?

由于

1 个答案:

答案 0 :(得分:0)

GPS卫星信号非常弱;它们是从距离您约20,000公里的卫星上传播的。为了获得准确的修复,GPS接收器需要从4颗卫星获得信号(仅使用3颗卫星即可获得不太精确的修复)。

更糟糕的是,手表有一个相当小的GPS天线,GPS系统使用的微波信号被建筑物,树木,人体,特别是水所吸收。

老实说,当你考虑到困难时,手腕上的这个小东西可以获得一个位置,更不用说精确到10米以内,真是太神奇了。

您必须尽可能利用所获得的数据做到最好。