我正在构建一个速度计应用程序,显示用户当前的行驶速度。我想尽可能显示最准确的速度,因此我想弄清楚我是否应该使用 kCLLocationAccuracyBestForNavigation 或 kCLLocationAccuracyBest。
根据 Apple 的文档,kCLLocationAccuracyBestForNavigation 使用尽可能高的精度并将其与额外的传感器数据相结合,而 kCLLocationAccuracyBest 使用最高级别的精度但没有提及传感器数据。有谁知道这个额外的传感器数据是什么以及它是否用于计算更准确的速度?
我从 CLLocation 对象获得速度。
func locationManager(_ manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) {
for location in locations {
let speed = location.speed
...
}
}
Run Code Online (Sandbox Code Playgroud)
kCLLocationAccuracyBestForNavigation 使用加速度计、陀螺仪、wifi 和手机信号塔。
由于您的目标是获得最佳速度精度,我建议您使用此常量。
请记住,这也是最耗电的。
您的回调似乎符合您的期望。