Android ' s Genaueste Standort-API
Um zu arbeiten, meine app erfordert eine location API.
Ich beabsichtige, verwenden Sie die Mapbox-Plattform, um anzupassen sein design (da Google-Maps
nicht dieses Niveau der Anpassung, soweit ich betroffen bin).
Dokumentation sagt, dass sollten wir nutzen, Google-Play API, wenn Gebäude, Standort
apps:
Den Google Play services location-APIs werden bevorzugt über den Android
Rahmen-Standort-APIs (android.Lage) als Zugabe
location awareness für Ihre app. Wenn Sie derzeit mit der Android
Rahmen-Standort-APIs, Sie werden dringend empfohlen zu wechseln
Google Play services location-APIs so bald wie möglich.
Meine Frage ist:
Ist Google Play API, das die meisten effizienten API, wenn es um GPS-Genauigkeit?
Oder sollte ich das LocationManager und LocationListener Weg, es zu tun?
Brauche ich Genauigkeit. Welche soll ich verwenden?
Danke.
- also wenn es richtig ist, sondern entleert den Akku sind Sie ok mit, dass?
- Auf den ersten, ja! Ist das der Grund, warum Sie empfehlen, Google-Play API?
- Ich denke
fusedlocation
(aka der google location api) ist so konzipiert, effizienter zu sein in Bezug auf die Verwendung des Akkus und des Netzes. Ich habe nicht gesehen, alle benchmarks, so ist dies alles subjektiv und spekulativ; die Genauigkeit, die ich vonfusedlocation
ist mehr als genug und ich würde nicht alles versuchen, es sei denn, es führt schrecklich. - Wie viel genau in Metern?
- Ich weiß nicht, wie genau.
- Fused location nutzt Netzwerk und GPS, um weniger Genauigkeit, aber weniger Stromverbrauch als GPS. Wie genau es ist, hängt von vielen Faktoren ab. GPS-alon mit einer Genauigkeit von etwa 5-10m, aber hängt von Telefon-hardware, Sichtweite, atmosphärische Bedingungen, usw.. Fused location weniger präzise, und haben viele der gleichen Bedingungen. Netzwerk zuletzt, um innerhalb von sagen wir 200m aber fast kein Strom. Beide Verschmolzen und Netzwerk-Netzwerkverbindungen benötigen, obwohl (GPS nicht).
Du musst angemeldet sein, um einen Kommentar abzugeben.
In android auch gibt es drei Arten von Ort :
So, wie pro meine coding-Erfahrung kam ich zu wissen, dass, wenn Sie verwenden :
erhalten Sie Präzision bis zu 14+ Nachkommastellen.
Aber wenn Sie fusion von Ihnen wie diese :
erhalten Sie Präzision bis zu 6 bis 7 Dezimalstellen. probieren Sie es aus !!! Referenz
Aber beachten Sie einige Dinge hier, GPS-Anbieter nimmt sich Zeit, um fetch Lage während Google Standort viel schneller als es ruft Daten von API-Aufruf, um seine google-server-Datenbank.
GPS funktioniert offline, während die google-provider wird die Position über Mobilfunk oder wifi-Daten.
Verwenden FusedLocationProviderApi und setzen LocationRequest Priorität PRIORITY_HIGH_ACCURACY
Dies ist die neueste API für die genaue Lage fetch und google empfehlen das gleiche.
Überprüfen die Genauigkeit details hier.
Grundsätzlich Google play services API Intelligenz hat, um die genaue Lage durch die Fixierung GPS+NetworkProvider+passiv Anbieter.
Sollten Sie verwenden LocationManager für die Richtigkeit.
Auch Sie können diese Klasse verwenden.
FusedLocationProviderApi ist veraltet.Sie verwenden sollten, FusedLocationProviderClient und sollten Sie
ACCESS_FINE_LOCATION
Zustimmung nichtACCESS_COARSE_LOCATION
um die genaue Lage.Lesen und diese Artikel zu verstehen, warum
FusedLocationProviderClient
ist die beste Lösung.In meiner Erfahrung, die Dienste von Google Location API sind vorzugsweise zur Verwendung in folgenden Aspekten:
Meiner Erfahrung mit Google-Dienste, den Standort mit einer Genauigkeit, die ausreichend für eine mapping-Anwendung (die einige zehn Meter) in vielen Fällen nicht die benötigen GPS-Daten. Das könnte auch der Fall sein mit FusedLocationProvider, obwohl, vielleicht mit einer Ausnahme für die Verwendung des Akkus zahlen.
Schließen, wenn Sie keine Argumente, NICHT Google-Services nutzen (wie Sie Ziel-ein Land, in dem Sie nicht verfügbar sind, oder verteilen möchten, die über alternative Märkte) sollten Sie Ihre Location API.