Dostawcy lokalizacji Android-GPS czy dostawca sieci?

W mojej aplikacji chciałbym określić aktualną lokalizację użytkownika. Mam jednak kilka pytań w tym zakresie:

  1. Istnieją różni dostawcy lokalizacji, który z nich jest najdokładniejszy? Dostawca GPS czy dostawca sieci ?

  2. W jakim stopniu te dostępne dostawcy różnią się? Jak one funkcjonują?

  3. Czy mógłbyś podać mi kilka fragmentów kodu lub samouczków na temat tego, jak zacząć implementujesz funkcjonalność GPS w mojej aplikacji?

Author: RandomMooCow, 2011-07-21

3 answers

Istnieją dostawcy lokalizacji 3 w Androidzie.

Są to:

Gps – > (GPS, AGPS): Nazwa dostawcy lokalizacji GPS. To dostawca określa lokalizację za pomocą satelitów. W zależności od warunki, ten dostawca może chwilę potrwać, aby zwrócić poprawkę lokalizacji. Wymaga uprawnień android.pozwolenie.ACCESS_FINE_LOCATION.

Sieć - > (AGPS, CellID, WiFi MACID): Nazwa sieci dostawca lokalizacji. Ten dostawca określa lokalizację na podstawie dostępność wieży komórkowej i punktów dostępowych WiFi. Wyniki są pobrane za pomocą wyszukiwania sieciowego. Wymaga jednego z uprawnienia android.pozwolenie.ACCESS_COARSE_LOCATION or android.pozwolenie.ACCESS_FINE_LOCATION.

Passive - > (CellID, WiFi MACID): Specjalny dostawca lokalizacji dla odbieranie lokalizacji bez faktycznego inicjowania poprawki lokalizacji. To dostawca może być używany do pasywnego otrzymywania aktualizacji lokalizacji, gdy inne Aplikacje lub usługi żądają ich bez faktycznego żądania lokalizacje siebie. Ten dostawca zwróci lokalizacje wygenerowane przez innych dostawców. Wymaga zgody android.pozwolenie.ACCESS_FINE_LOCATION, chociaż jeśli GPS nie jest włączony ten dostawca może zwracać tylko drobne poprawki. To jest to, co Android nazywa tych dostawców lokalizacji, jednak podstawowe technologie, aby to wszystko działało, są mapowane do określonego zestawu sprzęt i Telco pod warunkiem możliwości (Usługa sieciowa).

Najlepszym sposobem jest skorzystanie najpierw z "sieci" lub "pasywnego" dostawcy, a następnie fallback na "gps", i w zależności od zadania, przełączać się między dostawcy. Obejmuje to wszystkie przypadki i zapewnia najniższy wspólny denominator service (w najgorszym przypadku) i great service (w najlepszym case).

Tutaj wpisz opis obrazka

Numer artykułu : dostawcy lokalizacji Android-gps, sieć, pasywny Fernando Cejas

Kod Numer referencyjny: https://stackoverflow.com/a/3145655/28557

-----------------------Aktualizacja-----------------------

Teraz Android ma połączonego dostawcę lokalizacji

Dostawca lokalizacji zespolonej inteligentnie zarządza podstawową technologią lokalizacji i zapewnia najlepszą lokalizację zgodnie z Twoimi potrzebami. Ułatwia to aplikacjom uzyskiwanie bieżącej lokalizacji użytkownika z większą dokładnością i mniejszym zużyciem energii [4]}

Dostawca lokalizacji zespolonej podaj trzy sposoby pobierania lokalizacji

  1. Ostatnia Lokalizacja: Użyj, gdy chcesz znać bieżącą lokalizację raz.
  2. Request Location using Listener: Użyj, gdy aplikacja jest na ekranie / frontendzie i wymaga kontynuowania lokalizacji.
  3. Request Location using Pending Intent: Use when application in background and require continues location.

Referencje:

Oficjalna strona : http://developer.android.com/google/play-services/location.html

Przykład dostawcy lokalizacji zespolonej: GIT: https://github.com/kpbird/fused-location-provider-example

Http://blog.lemberg.co.uk/fused-location-provider

--------------------------------------------------------

 241
Author: Vinayak Bevinakatti,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-06-11 04:30:14

GPS jest na ogół bardziej dokładny niż sieć, ale czasami GPS nie jest dostępny, dlatego może być konieczne przełączenie między nimi.

Dobrym początkiem może być przyjrzenie się stronie deweloperskiej Androida. Mieli sekcję poświęconą określaniu lokalizacji użytkownika i zawiera wszystkie próbki kodu, których potrzebujesz.

Http://developer.android.com/guide/topics/location/obtaining-user-location.html

 7
Author: Otra,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-07-21 11:27:15

Jest tu kilka świetnych odpowiedzi. Innym podejściem, które możesz podjąć, byłoby użycie darmowych zestawów SDK dostępnych online, takich jak Atooma, tranql i Neura, które można zintegrować z aplikacją na Androida (integracja zajmuje mniej niż 20 minut). Oprócz dokładnej lokalizacji użytkownika, może również zapewnić dobry wgląd w działania użytkownika. Ponadto niektóre z nich zużywają mniej niż 1% Baterii

 3
Author: johndaly,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-02-07 05:26:44