Chcę uzyskać następujące wartości z szerokości i długości geograficznej w Androidzie
- Adres ulicy
- Stan miasta
- Zamek błyskawiczny
- Pełny adres
Jak to osiągnąć?
android
google-maps
location
UMAR
źródło
źródło
Odpowiedzi:
Aby uzyskać więcej informacji o dostępnych szczegółach, spójrz na Android-Location-Address
źródło
getAddressLine()
nie jest wiarygodne w uzyskiwaniu miasta / kraju, ponieważ linie adresowe mogą się różnić w zależności od poziomu szczegółów geokodowania. UżyjgetLocality()
igetCountryName()
zamiast."http://maps.googleapis.com/maps/api/geocode/json?latlng=" + latitude + ","+ longitude + "&sensor=true"
. Zwróci odpowiedź Jsona.Spróbuj tego Mój przyjacielu
źródło
Miasto i kraj nie zawsze podają adres Linia 1 i Linia 2 ...
Przykładem jest tutaj
Więc,
źródło
Jest ostatnia sztuczka, aby uzyskać adres z Lat-Long (współrzędne geograficzne). Możesz po prostu skorzystać z usługi internetowej Google-Maps, podając szerokość i długość geograficzną. Jest to po prostu usługa internetowa GET-Method.
Zwróci odpowiedź JSON, którą można łatwo przeanalizować, aby uzyskać adres. Adres URL tego jest następujący:
Możesz zamienić 32,75 na łat , długi .
źródło
W funkcji onCreate () ..
Napisz kod w onLocationChanged ()
źródło
Szukasz terminu Geokodowanie.
Krótka historia wymaga:
Aby zrobić więcej, przeczytaj tutaj Geocoder .
źródło
źródło
Bardzo łatwo jest uzyskać pełny adres z szerokości i długości geograficznej za pomocą klasy Geocoder. Po przykładowym kodzie. Mam nadzieję że to pomoże!
Możesz użyć tylko wartości adresu, ponieważ daje ona pełny adres. Jeśli chcesz mieć poszczególne komponenty, możesz także użyć innych.
źródło
Po prostu skorzystaj z tej metody i podaj swoją łatę, długo.
źródło
źródło
Możesz łatwo użyć następującego kodu, aby uzyskać adres.
źródło
Możesz stworzyć klasę
Następnie utworzysz go za pomocą
źródło
Wygląda na to, że nikt jeszcze nie dostarczył rozwiązania sugerowanego przez Dokumenty Google ( https://developer.android.com/training/location/display-address#java ). Prawidłowe rozwiązanie powinno używać usługi IntentService, aby wykonać połączenie sieciowe w celu odwrotnego geokodowania.
Usługa zamiaru jest używana zamiast AsyncTask, ponieważ nie jest powiązana z żadnym konkretnym działaniem. to znaczy. ma swój własny cykl życia. Usługa IntentService zatrzyma się po zakończeniu geokodowania.
źródło
Użyj tego, to działa dla mnie: D
Pobierz dane Json o szerokości i długości geograficznej.
https://maps.googleapis.com/maps/api/geocode/json?key=AIzaSyAr29XeWWAeWZcrOgjjfs3iSnqkWtAz4No&latlng=2.1812,102.4266&sensor=true
Zmień szerokość i długość geograficzną we własnym miejscu.
https://maps.googleapis.com/maps/api/geocode/json?key= <\ API_KEY_HERE> & latlng = „szerokość geograficzna”, „długość geograficzna” i czujnik = prawda
Możesz zmienić <\ API_KEY_HERE> własnym kluczem.
Musisz włączyć usługę interfejsu API w konsoli Google dla nowego klucza interfejsu API.
Mam nadzieję, że to pomaga: D
źródło
1 - Tworzysz zmienne dla LocationManager i LocationListener w metodzie onCreate.
2 - Sprawdź, czy jest pozwolenie, więc wykonaj aktualizacje lokalizacji i uzyskaj lastKnownLocation z menedżera lokalizacji, w przeciwnym razie poprosisz o pozwolenie
3 - Utwórz onRequestPermissionResult w klasie głównej i sprawdź, czy jest pozwolenie, a następnie wykonaj aktualizacje lokalizacji
4 - Utwórz oddzielną metodę, która zawiera zmienną Geocoder i utwórz listę, aby umieścić współrzędne z Twojej lokalizacji, więc dla bezpieczeństwa sprawdź, czy lista istnieje i jeśli istnieją wszystkie informacje, które chcemy na tej liście, użyj (getThoroughfare = => dla adresu ulicy), (getLocality ==> dla miasta / stanu), (getPostalCode ==> dla kodu Zip), (getAdminArea ==> dla pełnego adresu)
5 - W końcu wywołujesz tę metodę po sprawdzeniu uprawnień za pomocą (parametr lastKnownLocation ==>, aby pokazać adres podczas działania aplikacji) oraz w onLocationChanged z (parametr lokalizacji ==>, aby pokazać adres, gdy zmienia się lokalizacja)
Część kodowa:
źródło
Aby uzyskać więcej informacji, kliknij tutaj
źródło
Spróbuj użyć poniższego kodu za pomocą geokodera:
źródło
Możesz użyć tej metody do geokodowania poprawnego pełnego adresu
źródło
Jeśli używasz języka Kotlin, tworzę tę metodę, aby bezpośrednio uzyskać lokalizację adresu
ale ta metoda po prostu zwraca wartość String podczas wywoływania tej metody
Jeśli chcesz uzyskać cały adres, skorzystaj z tej metody / funkcji
}
źródło
Możesz to zrobić, aby uzyskać pełny adres z szerokości i długości geograficznej:
źródło
Musisz podać wartość szerokości i długości geograficznej.
źródło