location manager无法在ios中获得速度
我正在iOS应用程序中使用CLLocationManager获取用户的当前位置 我还需要计算用户的速度,可以使用委托方法“didUpdateLocations”来计算 我可以获得用户当前位置的更新,但速度值不正确。最初速度值为-1,然后即使位置正确更新,速度值也没有变化 我的位置管理器的初始化如下所示location manager无法在ios中获得速度,ios,swift,locationmanager,Ios,Swift,Locationmanager,我正在iOS应用程序中使用CLLocationManager获取用户的当前位置 我还需要计算用户的速度,可以使用委托方法“didUpdateLocations”来计算 我可以获得用户当前位置的更新,但速度值不正确。最初速度值为-1,然后即使位置正确更新,速度值也没有变化 我的位置管理器的初始化如下所示 var locationManager = CLLocationManager() locationManager.delegate = self; locationMan
var locationManager = CLLocationManager()
locationManager.delegate = self;
locationManager.distanceFilter = kCLLocationAccuracyNearestTenMeters;
locationManager.desiredAccuracy = kCLLocationAccuracyBest;
locationManager.requestAlwaysAuthorization()
locationManager.startUpdatingLocation()
有什么问题吗
高级感谢..通常,在处理外部事件和附件(位置、硬件通信等)时,当您想要的信息不可计算或以某种方式无效时,苹果会给您一个-1。你不能做任何假设,你只需要截取这些信息(某种计算错误)并像信息丢失一样处理它 负值表示速度无效
通常,在处理外部事件和附件(位置、硬件通信等)时,当您想要的信息不可计算或以某种方式无效时,苹果会给您一个-1。你不能做任何假设,你只需要截取这些信息(某种计算错误)并像信息丢失一样处理它 负值表示速度无效
这是默认行为,您必须自己处理。有许多过滤机制可以覆盖这个问题,比如卡尔曼滤波。这是默认行为,你必须自己处理。有许多滤波机制可以解决这个问题,比如卡尔曼滤波。
var locationManager = CLLocationManager()
locationManager.delegate = self;
locationManager.distanceFilter = kCLLocationAccuracyNearestTenMeters;
locationManager.desiredAccuracy = kCLLocationAccuracyBest;
locationManager.requestAlwaysAuthorization()
locationManager.startUpdatingLocation()