iOSアプリケーションでCLLocationManagerを使用してユーザーの現在地を取得しています。ロケーションマネージャがiosでスピードを得ることができない
私はまた、ユーザーの速度を計算する必要があり、私はそれを持って、それは委任メソッド "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()
それの何が問題に下回っています。外部イベントとアクセサリー(所在地、ハードウェア、通信など)を扱う通常
高度なおかげで...
https://stackoverflow.com/a/32872002/5501940を示し –
これはデフォルトの動作であり、あなたはあなたにそれを処理する必要が自分の。カルマンフィルタのようなこの問題を無効にするフィルタリングメカニズムはたくさんあります。 –