Testowałem nowe API lokalizacji Androida przez kilka tygodni. Generalnie działają całkiem nieźle, jednak nowy dostawca lokalizacji często traci fabułę.Uległa utracie dostawcy usługi Android Fused Location
W szczególności łączę przykład oparty na the receive location updates example. Działa poprawnie, a aktualizacje lokalizacji są odbierane zgodnie z oczekiwaniami.
Problem wydaje się być związany z samym dostawcą usługi Fused. W niektórych obszarach (szczególnie w moim domu) całkowicie się gubi. Nagle pomyśli, że jestem kilometr od miejsca, w którym jestem. Wokół miejsca, w którym pracuję (jest to obszar bardziej zabudowany), jest on znacznie dokładniejszy i zawsze w miarę zbliżony do miejsca, w którym aktualnie się znajduję (w trybie zrównoważonym).
Podjęłam wiele prób rozwiązania tego problemu, w tym przełączenia na PRIORITY_HIGH_ACCURACY, gdy podejrzewam, że to pomyłka, lub użycia starszego menedżera LocationManager w celu uzyskania poprawki GPS, aby ustalić, gdzie naprawdę jestem. Ale wydaje się, że nic nie pomaga. Podejrzewam, że Google ma złe dane dotyczące lokalizacji niektórych mobilnych wież hotspotów WiFi w moim domu, a kiedy łączy się z pewnymi wieżami, nagle skacze o kilka kilometrów od prawdziwej lokalizacji. Jest to bardzo denerwujące i przeszkadza również interfejsowi Geofence API. Wszelkie porady, jak mogę to naprawić?
co masz na myśli, przechodząc na stary menedżer lokalizacji i GPS nie pomaga? – paul
Niestety, nie otrzymałem powiadomienia o Twoim komentarzu. Istnieje inny menedżer LocationManager w innym obszarze nazw: http://developer.android.com/reference/android/location/LocationManager.html –
Aha, i tak, GPS zawsze rozwiązuje problem. Wydaje się, że nieprawidłowe lokalizacje są związane ze złymi odczytami z otaczających wież komórkowych. –