LocationRequest kleinste Verschiebung und Genauigkeit

Ich baue eine Android-App, in der ich eine sehr genaue Lage mit einer sehr hohen Frequenz haben muss. Ich tauchte in Google Play Services api für Standort und fand die LocationRequest.setSmallestDisplacement sehr nützlich, um den Batterieverbrauch zu begrenzen.

Allerdings, wie ich es im Innenraum teste, haben die Standorte, die ich bekomme, eine Genauigkeit, die viel variiert (manchmal 10m, manchmal 96m …), auch wenn ich die Priorität meiner Anfrage als hohe Genauigkeit eingestellt habe.

Mein prob1em ist das setSmallestDisplacement gibt kein sh * es über die Genauigkeit, die zuletzt zurückgegeben wird. Also, wenn ich einen Standort mit einer sehr geringen Genauigkeit bekomme, muss ich noch meine "kleinste Verschiebung" Distanz gehen, um eine neue zu bekommen, hoffentlich genauer.

Ich frage mich, ob es einen Weg gibt, solche Daten zu vermeiden (ich kann keinen Standort verwenden, der nicht genau genug ist) oder wenn ich den setSmallestDisplacement Teil überspringen muss (schlecht für den Batterieverbrauch).

Einige Code für Ihr Vergnügen:

mLocationRequest = LocationRequest.create(); mLocationRequest.setInterval(100); //We get a new location every 100ms or so //mLocationRequest.setSmallestDisplacement(5); //but only if we traveled 5m mLocationRequest.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY); 

Vielen Dank.

  • Android - Entfernung zwischen zwei Städte
  • Android berechnen Abstand zwischen zwei Standorten
  • Qt5 QGeoPositionInfoSource :: createDefaultSource () stürzt auf Android 5.0 ab
  • Wie finde ich Grad von der Breite Wert in Android?
  • Erwerb eines Währungscodes eines Landes
  • Google Play Services für Android. Standort-Client nicht aktualisieren Ort, wenn WiFi deaktiviert
  • Hauptaktivitätsklasse nicht gefunden, wenn GooglePlayServicesClient.ConnectionCallbacks / OnConnectionFailedListener implementiert wird
  • Wie bekomme ich eine vollständige Adresse aus Breiten- und Längengrad?
  • One Solution collect form web for “LocationRequest kleinste Verschiebung und Genauigkeit”

    Die "LocationRequest.setSmallestDisplacement" spielt keine Rolle für die Genauigkeit, es ist nur um unnötige Updates zu vermeiden, können Sie weiter verwenden.

    Es gibt keine Methode, um eine geringe Genauigkeit zu verbessern, man bekommt nur einen Punkt mit etwas Genauigkeit (besser oder schlechter), wenn Sie nicht an Positionen mit niedriger Genauigkeit interessiert sind, einfach diesen Ort überspringen und auf einen besseren warten.

    Diese Seite könnte Ihnen helfen, über Genauigkeit und Verbrauch, aber beachten Sie, dass keine perfekte Genauigkeit vorhanden ist, mit Wi-Fi die Genauigkeit ist 100m für schlechter Genauigkeit.

    Hier haben Sie die Genauigkeit für jede Priorität.
    https://developer.android.com/training/location/receive-location-updates.html#location-request

    Hier die IO Session von Google Ingenieuren, sehr nützlich, können Sie die PDF auch dort zu bekommen.
    https://developers.google.com/events/io/sessions/325337477

    Aktualisierte Links Brokens

    Die PDF-Präsentation

    Die IO-Sitzung

    Hoffe das hilft: D.

    Das Android ist ein Google Android Fan-Website, Alles ├╝ber Android Phones, Android Wear, Android Dev und Android Spiele Apps und so weiter.