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.

War es hilfreich?

Lösung

Es gibt eine kleine Konfiguration, die Ihnen helfen werden:

  1. 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 .

  2. 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.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top