我正在构建一个速度计应用程序,显示用户正在行进的当前速度。我想显示最准确的速度,因此我想弄清楚是否应该使用kCLLocationAccuracyBestForNavigation或kCLLocationAccuracyBest。
根据Apple的文档,kCLLocationAccuracyBestForNavigation使用尽可能高的准确度并将其与其他传感器数据相结合,而kCLLocationAccuracyBest使用最高精度但未提及传感器数据。有谁知道这个额外的传感器数据是什么,以及它是否用于计算更准确的速度?
我从CLLocation对象获得速度。
func locationManager(_ manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) {
for location in locations {
let speed = location.speed
...
}
}
答案 0 :(得分:2)
kCLLocationAccuracyBestForNavigation
使用加速度计,陀螺仪,wifi和手机信号塔。
由于您的目标是获得最佳的速度精度,我建议您使用此常量。
请记住,这也是最耗电的。
您的回调似乎与您期望的一致。
答案 1 :(得分:0)
我有一个怀疑!
我的 GPS 追踪器正在使用 kCLLocationAccuracyBestForNavigation
(带有 CLActivityTypeOther
)。对我来说,似乎 kCLLocationAccuracyBestForNavigation
会导致位置管理器也查找地图数据。当我骑自行车时,位置管理器有时会报告与我旁边道路相匹配的位置。但我不骑那条路...
接下来我将尝试 kCLLocationAccuracyBest
,看看这个常数是否能阻止那些垃圾。