gpt4 book ai didi

ios - 位置管理器无法在 iOS 中获得速度

转载 作者:行者123 更新时间:2023-11-28 06:18:23 28 4
gpt4 key购买 nike

我在我的 iOS 应用程序中使用 CLLocationManager 来获取用户的当前位置。

我还需要计算用户的速度,我知道了,它可以使用委托(delegate)方法“didUpdateLocations”计算。

 func locationManager(_ manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) {
let location: CLLocation = locations.last!
var speed1 = location.speed
speedLabel.text = "\(speed1)"
}

我可以获得用户当前位置的更新,但速度值不正确。最初速度的值为 -1,然后即使位置正确更新,该值也没有变化。

我的位置管理器的初始化如下

    var locationManager = CLLocationManager()
locationManager.delegate = self;
locationManager.distanceFilter = kCLLocationAccuracyNearestTenMeters;
locationManager.desiredAccuracy = kCLLocationAccuracyBest;
locationManager.requestAlwaysAuthorization()
locationManager.startUpdatingLocation()

这是怎么回事。

非常感谢..

最佳答案

通常,在处理外部事件和附件(位置、硬件通信等)时,当您想要的信息不可计算或不知何故无效时,Apple 会给您 -1。您不能做出任何假设,您只需要拦截该信息(某种计算错误)并像信息丢失一样处理它。

A negative value indicates an invalid speed

https://developer.apple.com/documentation/corelocation/cllocation/1423798-speed

关于ios - 位置管理器无法在 iOS 中获得速度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44408467/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com