Androids genaueste Standort-API

9

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.

    
AndroidDev 25.07.2016, 22:50
quelle

5 Antworten

7

In android gibt es auch drei Arten von Ort:

  1. GPS_PROVIDER
  2. NETWORK_PROVIDER
  3. PASSIVER_PROVIDER

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.

    
Dharvik shah 01.08.2016, 21:23
quelle
5

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.

    
NitZRobotKoder 28.07.2016 12:01
quelle
0

Nach meiner Erfahrung sollte die Google Services-Standort-API in folgenden Aspekten verwendet werden:

  • Sie befassen sich mit den Benutzereinstellungen und wählen den besten verfügbaren Standortanbieter aus. Wenn Sie direkt mit LocationManager arbeiten möchten, muss Ihr Code damit umgehen.
  • Sie könnten einen besseren Standort mit weniger Stromverbrauch erwarten, da Google regelmäßig seine Algorithmen zur Standortbestimmung über WiFi, Mobilfunkmasten usw. aktualisiert.

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.

>     
sichevoid 03.08.2016 16:17
quelle
0

Sie sollten LocationManager für Genauigkeit verwenden. Sie können diese Klasse auch verwenden.

%Vor%     
Sergey 03.08.2016 20:23
quelle
0

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.

    
Levon Petrosyan 23.11.2017 08:23
quelle

Tags und Links