Ich muss eine native iPhone-App implementieren, um die Geschwindigkeit des Telefons (im Grunde ein Tachometer) zu messen. Ich weiß, dass Sie dies relativ einfach über die CoreLocation-API tun können, aber ich bin besorgt über den Batterieverbrauch, da dies eine Echtzeitmessung sein soll, die bis zu ein paar Stunden gleichzeitig genutzt werden kann. Mein Verständnis ist, dass, während Sie aktiv auf Ereignisse vom LocationManager überwachen (obwohl ich nicht wirklich über GPS-Standort interessiere) es Batterie intensiv ist. Die andere offensichtliche Option zu erkunden wäre die Verwendung der Beschleunigungsmesser zu versuchen, Geschwindigkeit zu berechnen, aber es gibt nichts in der API, um Ihnen dabei zu helfen. Nach meinen Recherchen sollte das möglich sein, scheint aber extrem kompliziert und fehleranfällig zu sein. Übersetzen von Beschleunigung zu Geschwindigkeit kann schwierig sein, zu beginnen, und die iPhone Beschleunigungsmesser Daten können "laut" sein. Ich kenne das SDK-Beispiel, das die Verwendung von Tief-/Hochpassfiltern usw. demonstriert - aber ich habe nirgendwo ein gutes Beispiel gesehen, das die Berechnungsgeschwindigkeit anzeigt.Messung der Geschwindigkeit über iPhone SDK
Hat jemand irgendwelche reale Erfahrung mit diesem können sie teilen? Code wäre fantastisch, aber ich möchte nur wissen, ob jemand das erfolgreich gemacht hat (für eine langlebige App) und welchen Ansatz sie gewählt haben.
BEARBEITEN: Ich habe einen funktionierenden Prototyp, der die LocationManager API verwendet. Es funktioniert in Ordnung, aber der Aktualisierungszyklus ist bei weitem nicht ideal für eine Echtzeitmessung der Geschwindigkeit. Je nach den Umständen kann es manchmal bis zu 4-5 Sekunden dauern, bis die Aktualisierung abgeschlossen ist. Cruisen bei einer gegebenen Geschwindigkeit tendiert dazu, in Ordnung zu arbeiten, aber accel/decel tendiert dazu, vom Standpunkt der Benutzerinteraktion sehr schlecht nachzueilen. Außerdem muss ich Geschwindigkeit in andere Berechnungen einbringen, die ich mache, und die Präzision ist nicht wirklich, was ich brauche.
Es scheint möglich basierend auf (sehr wenige) andere Anwendungen, die ich gesehen habe, vor allem , die behauptet, keine GPS zu verwenden, sondern berechnet die Geschwindigkeit genau. Ich bin wirklich überrascht, dass es keine Referenzen oder irgendeinen Beispielcode gibt, der das irgendwo zeigt, das ich finden kann. Mir ist klar, dass es komplex ist, aber da ist bestimmt etwas.
Hey, ich würde mich für Ihren Erfolg in diesem Bereich interessieren. Ich untersuche gerade die Accelerometer-/Gryo-Daten von einem iPhone 4 zusammen mit GPS-Daten, um eine Inertial-Navigationsroute zwischen GPS-Aktualisierungen zu zeichnen. – Jerceratops