使用 kCLLocationAccuracyBestForNavigation 时来自 CLLocationManager 的速度和路线错误
Posted
技术标签:
【中文标题】使用 kCLLocationAccuracyBestForNavigation 时来自 CLLocationManager 的速度和路线错误【英文标题】:Wrong speed and course from CLLocationManager when using kCLLocationAccuracyBestForNavigation 【发布时间】:2013-08-28 09:43:27 【问题描述】:有时我会在 didUpdateToLocation 中得到奇怪的速度和路线值。这可能是在我将 desiredAccuracy 设置从 kCLLocationAccuracyBest 更改为 kCLLocationAccuracyBestForNavigation 时开始的。路线可以漂移到 90 度。另一个问题是,如果设备完全静止(即使船/汽车在移动),有时速度会设置为 0。我不知道这些问题是否相关。
我可以在 ipad2 和 ipad3 的多个设备上确认此行为。
有没有人经历过类似的事情?
/马丁
【问题讨论】:
【参考方案1】:我刚刚尝试了一个实验,使用带有 ios 7.02 的新 iPhone。我无法复制您的问题。具体来说,我使用的是委托方法 didUpdateLocations,
- (void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations
因为 didUpdateToLocation 自 iOS6 以来已被弃用。我不知道位置数组与不推荐使用的方法中返回的 newLocation 有什么不同。
步行和开车都试过了,效果不错。是的,路线会反弹,并且不像指南针方向那样即时准确,但我没有看到它在移动时变化多达 90 度,我也没有看到速度为零。
如果您的 GPS 甚至 WiFi 信号较差,或者您正在移动,那么您会看到这种行为。也许这不是您所希望的那种答案,但由于已经过去了一个多月,我想我已经将我的经历与您的经历联系起来了。
如果有帮助,我可以发布一个代码 sn-p。
【讨论】:
以上是关于使用 kCLLocationAccuracyBestForNavigation 时来自 CLLocationManager 的速度和路线错误的主要内容,如果未能解决你的问题,请参考以下文章
在使用加载数据流步骤的猪中,使用(使用 PigStorage)和不使用它有啥区别?
Qt静态编译时使用OpenSSL有三种方式(不使用,动态使用,静态使用,默认是动态使用)