我为Apple Watch 2-3开发了一款应用程序,它使用内置GPS来保存音轨并获得速度,距离等。
应用程序是用Swift,XCODE 9和CLLocation编写的。
有时CLLocation发送didFailWithError,接下来的3-5个GPS位置完全错误,距离真实点数百米。 我设置了BestForNavigation,然后检查horizontalAccuracy< 32米。我过去过滤了地点。
主要发生在水中的手表,甚至几厘米。
有人经历过吗?
由于
答案 0 :(得分:0)
GPS卫星信号非常弱;它们是从距离您约20,000公里的卫星上传播的。为了获得准确的修复,GPS接收器需要从4颗卫星获得信号(仅使用3颗卫星即可获得不太精确的修复)。
更糟糕的是,手表有一个相当小的GPS天线,GPS系统使用的微波信号被建筑物,树木,人体,特别是水所吸收。
老实说,当你考虑到困难时,手腕上的这个小东西可以获得一个位置,更不用说精确到10米以内,真是太神奇了。
您必须尽可能利用所获得的数据做到最好。