Ich verwende einen fusionierten Standortanbieter mit PRIORITY_HIGH_ACCURACY Modus für Standortabfrage, aber manchmal gibt es falsche Standortgeschwindigkeit wie 77 m/s.Was ist falsch, also wie kann ich die korrekte Standortgeschwindigkeit erreichen?Ortungsgeschwindigkeit Fehler bei Verwendung des fusionierten Providers
Lage Anfrage:
mLocationRequest = new LocationRequest();
mLocationRequest.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY);
mLocationRequest.setInterval(6000);
mLocationRequest.setSmallestDisplacement(80);
Get Geschwindigkeit in Location Update
Double lat = location.getLatitude();
Double lon = location.getLongitude();
float sd = (float) location.getAltitude();
// float ac_speed = sd;
//----- For Testing Purpose---------------//
float ac_speed = location.getSpeed();
Einige Gedanken und Ideen finden Sie unter [ist der beste Weg, Geschwindigkeit in Android zu berechnen, ob "manuelle Berechnung mit GPS-Koordinaten" oder "location.getSpeed"?] (Https://stackoverflow.com/questions/21644990/which Ist dies ein individueller Fehlerwert, könnten Sie einen Median der letzten paar Geschwindigkeiten berechnen, um plötzliche Spannungsspitzen herauszufiltern. Natürlich würde es auch eine kleine Verzögerung einführen. Oder wenn diese Orte einen schlechten 'getAccuracy()' Wert haben, könnten Sie einfach die Geschwindigkeit für "schlechte" Orte ignorieren. –