Um zu funktionieren, benötigt meine App eine Standort-API. Ich beabsichtige, die Mapbox-Plattform zu verwenden, um ihr Design anzupassen (seit Google Maps bietet diese Stufe der Anpassung nicht, soweit es mich betrifft).
Die Dokumentation besagt, dass wir die Google Play API beim Erstellen des Standorts verwenden sollten Apps:
Die APIs für Google Play-Dienste werden gegenüber Android bevorzugt Framework-Standort-APIs (android.location) als eine Möglichkeit zum Hinzufügen Standorterkennung für Ihre App Wenn Sie derzeit Android verwenden Framework - Standort - APIs wird dringend empfohlen, zu den Google Play-Dienststandort-APIs so bald wie möglich.
Meine Frage ist: Ist Google Play API die effizienteste API für die GPS-Genauigkeit? Oder sollte ich den LocationManager und den LocationListener Weg dazu benutzen?
Ich brauche Genauigkeit. Welchen sollte ich benutzen? Danke.
In android gibt es auch drei Arten von Ort:
Also, nach meiner Programmiererfahrung habe ich das erfahren, wenn du folgendes verwendest:
%Vor%Sie erhalten eine Genauigkeit von bis zu 14 Nachkommastellen.
Aber wenn Sie Fusion von ihnen wie folgt verwenden:
%Vor%Sie erhalten eine Genauigkeit von 6 bis 7 Dezimalstellen. Versuch es !!! Referenz
Aber notieren Sie hier, dass der GPS-Provider Zeit benötigt, um den Standort abzurufen, während Google Location viel schneller ist, da er Daten aus dem API-Aufruf seiner Google-Server-Datenbank bezieht.
GPS funktioniert offline, während Google Provider den Standort über mobile oder WLAN-Daten erhält.
Verwenden Sie FusedLocationProviderApi , und legen Sie die LocationRequest-Priorität auf PRIORITY_HIGH_ACCURACY
Dies ist die neueste API für den genauen Standort-Abruf, und Google schlägt vor, dasselbe zu verwenden.
Details zur Genauigkeit prüfen hier .
Grundsätzlich hat Google Play Services API Intelligenz, um einen genauen Standort durch Verschmelzen von GPS + NetworkProvider + passiven Anbietern zu erhalten.
Nach meiner Erfahrung sollte die Google Services-Standort-API in folgenden Aspekten verwendet werden:
Nach meiner Erfahrung erfordert die Verwendung von Google-Diensten in vielen Fällen keine GPS-Daten, die für eine Mapping-Anwendung ausreichend sind (dh einige zehn Meter). Das könnte auch bei FusedLocationProvider der Fall sein, allerdings mit einer Ausnahme für die Akkuverbrauchsnummern.
Wenn Sie keine Argumente haben, die Google-Dienste NICHT zu verwenden (z. B. - ein Ziel in einem Land, in dem sie nicht verfügbar sind oder über alternative Märkte verteilen möchten), sollten Sie ihre Standort-API verwenden.
> FusedLocationProviderApi ist veraltet. Verwenden Sie FusedLocationProviderClient und Sie sollten ACCESS_FINE_LOCATION
Erlaubnis hinzufügen, nicht ACCESS_COARSE_LOCATION
, um den genauesten Standort zu erhalten.
Und lesen Sie diesen Artikel, um zu verstehen, warum FusedLocationProviderClient
ist die beste Lösung.