J'utilise CLLocationManager dans mon application iOS pour obtenir l'emplacement actuel de l'utilisateur.le gestionnaire de localisation ne peut pas obtenir la vitesse dans ios
J'ai également besoin de calculer la vitesse de l'utilisateur et je l'ai eu, il peut être calculé en utilisant la méthode déléguée "didUpdateLocations".
func locationManager(_ manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) {
let location: CLLocation = locations.last!
var speed1 = location.speed
speedLabel.text = "\(speed1)"
}
Je peux obtenir la mise à jour de l'emplacement actuel de l'utilisateur mais la valeur de vitesse n'est pas correcte. Initialement, la valeur de la vitesse est -1, puis aucun changement dans la valeur, même si l'emplacement est mis à jour correctement.
L'initialisation de mon manager emplacement est au-dessous
var locationManager = CLLocationManager()
locationManager.delegate = self;
locationManager.distanceFilter = kCLLocationAccuracyNearestTenMeters;
locationManager.desiredAccuracy = kCLLocationAccuracyBest;
locationManager.requestAlwaysAuthorization()
locationManager.startUpdatingLocation()
Quel mal avec elle.
grâce avancée ..
https://stackoverflow.com/a/32872002/5501940 –
Il est le comportement par défaut et vous devez gérer cela sur votre posséder. Il existe de nombreux mécanismes de filtrage pour contourner ce problème, comme le filtre kalman. –