我已经为Apple Watch 2-3开发了一个应用程序,它使用内部GPS来保存轨道,并获得速度、距离等。
这个应用程序是用Swift,XCODE 9和CLLocation编写的。
有时候CLLocation会发送didFailWithError,接下来的3-5个全球定位系统的定位是完全错误的,离真实点几百米远。我设置了BestForNavigation并检查horizontalAccuracy < 32m。我过滤过去的位置。
它主要发生在水里的手表上,甚至只有几厘米。
有人经历过吗?
谢谢
发布于 2018-04-26 13:32:37
全球定位系统卫星信号非常微弱,它们是从你上方20,000公里的轨道卫星发射出来的。为了得到精确的定位,GPS接收机需要从4颗卫星获得一个信号(只需要3颗卫星就可以得到一个不太精确的定位)。
更糟糕的是,这只手表有一个相当小的GPS天线,GPS系统使用的微波信号被建筑物、树木、人体,特别是水所吸收。
老实说,当你考虑到这些困难时,你手腕上的这个小东西竟然能找到一个位置,更不用说在10米以内了。
你只需要尽你所能地处理你所得到的数据。
https://stackoverflow.com/questions/50043921
复制相似问题