immer die Geschwindigkeit, mit der Vorrichtung bewegt
-
19-09-2019 - |
Frage
I CLLocation.speed
bin mit der Geschwindigkeit der Vorrichtung sich zu bewegen, aber ich bin 0 bekommen jedes Mal. Ich habe versucht,
speed = ([newlocation getDistanceFrom:oldlocation]/[newlocation.timeStamp timeIntervalSinceDate:oldlocation.timeStamp])
Das Problem ist, es ist die falsche Geschwindigkeit hin und wieder zu geben.
Lösung
Es gibt eine kleine Konfiguration, die Ihnen helfen werden:
-
CLLocationManager
werden Sie kein Update, wenn der Benutzer bewegt sich außerhalb eines Kreises an ihrem aktuellen Standort senden. Sie können den Radius des Kreises steuern (es kleiner machen), so dass Sie bekommen mehr verfeinert Updates. Siehe distanceFilter . -
CLLocationManager
hat eine Genauigkeit Kontrolle, dass Sie auf seine feinsten Ebene festlegen möchten. Siehe desiredAccuracy .
Am besten ist es einfach immer wieder diese „Geschwindigkeit“ zu berechnen und ein schwaches Tiefpassfilter verwenden, um die Ergebnisse zu glätten.
Siehe auch diese Frage für weitere Informationen: iPhone Corelocation: Wie die genaueste Geschwindigkeit erhalten.