Ich versuche eine einfache App zu erstellen, die sich darum dreht, jemandes Geschwindigkeit zu verfolgen. Ich habe den Standortführer von Android Studio gelesen, er zeigt jedoch nicht, wie Sie die Geschwindigkeit eines Nutzers ermitteln oder den Standort eines Nutzers in einem gleichmäßigen Intervall abrufen können.Wie bekomme ich alle paar Sekunden einen Standort?
Derzeit hat ich diesen Code-Snippet ein:
if (OldLocation != null) {
OldLocation = NewLocation;
NewLocation = LocationServices.FusedLocationApi.getLastLocation(mGoogleApiClient);
} else {
OldLocation = lm.getLastKnownLocation(LocationManager.GPS_PROVIDER);
try {Thread.sleep(1000);} catch (InterruptedException ex) {
Thread.currentThread().interrupt();
}
NewLocation = lm.getLastKnownLocation(LocationManager.GPS_PROVIDER);
}
float distance = OldLocation.distanceTo(NewLocation);
float speed = distance/1000;
ich derzeit Thread.sleep verwenden, dies zu tun, obwohl ich es denken würde, ein besserer Weg Updates regelmäßig zu beantragen.
Kann mir jemand wie zeigen?
Gibt es eine Möglichkeit, einen Ort zu jedem Sagen, 5 Sekunden anzufordern? – Mildwood
Das ist ein bisschen zu schnell. Standort-Updates anfordern ruft Sie alle n Sekunden auf, aber nur wenn es ein Update hat. GPS aktualisiert in der Regel Ihren Standort etwa zweimal pro Minute –
Okay. Ich denke, ich müsste dann kein bestimmtes Intervall einstellen. Danke für Ihre Hilfe! – Mildwood