2 Stimmen

Berechnen der Geschwindigkeit zwischen zwei Punkten in Android

Das sollte eigentlich ganz einfach sein, aber ich kann kein klares Beispiel dafür finden, wie ich meine Geschwindigkeit mit den Standortdiensten von Android berechnen kann.

Alles, was ich tun möchte, ist meine Geschwindigkeit auf der Grundlage meiner vorherigen und aktuellen GPS-Position zu berechnen. getSpeed() funktioniert nicht, weil es an einem gewissen Punkt mit setSpeed() festgelegt werden muss.

Gibt es also irgendeinen Beispielcode, den ich in Eclipse gegen meinen Android-Emulator ausführen kann, der eine GPX-Datei ausführt, die mir meine Geschwindigkeit in einem beliebigen Maß anzeigt (Meter, Fuß, Meilen usw., egal - ich kann das immer in das konvertieren, was ich brauche).

Vielen Dank im Voraus, Alex

2voto

Philip Pearl Punkte 1523

Meinen Sie so etwas wie das hier? Gibt die Geschwindigkeit in m/s an.

alterOrt.distanceTo(neuerOrt) / (neuerOrt.getTime() - alterOrt.getTime())

1voto

Reno Punkte 33186

getSpeed() funktioniert nicht, da sie zu einem bestimmten Zeitpunkt mit setSpeed() festgelegt werden muss.

(Für den Fall, dass Sie ein aktuelles Gerät verwenden -- ). Nein, die Geschwindigkeit wird durch den GPS-Chipsatz bestimmt und sollte genauer sein als die Entfernung und die Zeit zwischen zwei aufeinanderfolgenden Orten. Sie müssen nicht setSpeed() . Rufen Sie an. hasSpeed() um zu sehen, ob die Geschwindigkeit gültig ist.


(Für den Fall, dass Sie kein aktuelles Gerät verwenden) Ich habe gute Erfahrungen mit dem Mock Location Provider gemacht, bei dem man die Location Objekt, das Sie mit setSpeed() in Meter/Sekunde

Hier sind einige Möglichkeiten, dies zu tun:

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X