使用 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有三种方式(不使用,动态使用,静态使用,默认是动态使用)

MySQL db 在按日期排序时使用“使用位置;使用临时;使用文件排序”

使用“使用严格”作为“使用强”的备份