Możesz korzystać z usługi Miejsca oraz interfejsu Geocoding API za pomocą pakietu Maps SDK na Androida do wyszukiwania regionów oraz uzyskać więcej informacji o miejscach. Usługa Places i interfejs Geocoding API to wydajne i stabilne alternatywy dla uzyskiwania identyfikatorów miejsc. Jeśli korzystasz już z identyfikatorów miejsc, możesz ponownie wykorzystać te identyfikatory w: stylu opartego na danych dla granic.
Dodaj usługę Miejsca i geokodowanie do aplikacji z pakietu SDK Map Google na Androida na te sposoby:
- SDK Miejsc na Androida to biblioteka Androida zawierająca metody zwracania informacji miejsc.
- Interfejs Places API zwraca informacje o miejscach za pomocą żądań HTTP.
- Klasa Geocoder może dynamicznie geokodować i wykonywać odwrotne geokodowanie na podstawie danych wejściowych użytkownika.
- Geocoding API umożliwia geokod, znane adresy.
Korzystanie z usługi Miejsca
Użyj wyszukiwania tekstowego (nowego) do znalezienia identyfikatora miejsca
Możesz użyć wyszukiwania tekstowego (nowa wersja) interfejsu REST API w interfejsie Places API, aby uzyskać identyfikator miejsca, który zawiera dane o regionie. W tym celu w masce pola podaj wartość places.id
. Korzystanie z
Korzystanie z wyszukiwania tekstowego (nowość) w celu uzyskania tylko identyfikatorów miejsc powoduje naliczanie opłat
bez ponoszenia opłat. Więcej informacji
Aby np. uzyskać identyfikator miejsca dla Trynidadu w Kalifornii, możesz utworzyć następujące dane: Wywołanie interfejsu API:
curl -X POST -d '{ "textQuery" : "Trinidad, CA" }' \ -H 'Content-Type: application/json' -H 'X-Goog-Api-Key: API_KEY' \ -H 'X-Goog-FieldMask: places.id' \ 'https://places.googleapis.com/v1/places:searchText'
Używanie autouzupełniania miejsc do znajdowania regionów
Autouzupełnianie miejsc
w pakiecie SDK Miejsc dla systemu Android zapewnia wygodny sposób
gdy użytkownicy wyszukują informacje w określonych regionach. Aby skonfigurować usługę autouzupełniania miejsc do
regiony tylko zwracania, użyj funkcji
AutocompleteSupportFragment.setTypesFilter(List)
aby ustawić filtr typów na PlaceTypes.REGIONS
.
Pobieranie szczegółowych informacji o miejscu w regionie
Usługa Szczegóły miejsca w pakiecie SDK Miejsc na Androida zwraca dane o regionie, co może być bardzo przydatne. Możesz na przykład:
- Wyszukuj identyfikatory miejsc przy granicach na podstawie nazw miejsc.
- Pobierz widoczny obszar, aby powiększyć do granicy.
- Pobierz typ funkcji dla granicy (np.
locality
). - Uzyskaj sformatowany adres, który ma format „Nazwa miejsca, Stan, Kraj”. cale region Stanów Zjednoczonych (np. „Ottumwa, IA, USA”).
- Pobierać inne przydatne dane, takie jak zdjęcia.
Używanie interfejsu Geocoding API
Interfejs Geocoding API umożliwia konwertowanie adresu na współrzędne geograficzne i identyfikator miejsca lub konwertowanie współrzędnych geograficznych lub identyfikatora miejsca na adres. Te elementy dobrze współgrają ze stylem opartym na danych:
- Użyj geokodowania, by uzyskać widoczny obszar dla danego regionu.
- Zastosuj filtrowanie komponentów do wywołania Geokodowanie, aby uzyskać identyfikatory miejsc obszary administracyjne 1–4, miejscowość lub kod pocztowy.
- Za pomocą odwrotnego geokodowania możesz znaleźć identyfikatory miejsc na podstawie współrzędnych geograficznych lub nawet zwrócić identyfikatory miejsc dla wszystkich komponentów w danej lokalizacji.
W poniższym przykładzie użyto adresu (ze zmianą znaczenia w przypadku adresu URL), aby wysłać żądanie do Geocoding API:
https://maps.googleapis.com/maps/api/geocode/json?address=1600%20Amphitheatre%20Pkwy%20Mountain%20View%20CA&key=YOUR_API_KEY
Możesz zastosować odwrotne geokodowanie. aby znaleźć identyfikatory miejsc. W tym przykładzie funkcja usługi geokodowania zwraca identyfikatory miejsc dla wszystkich elementów adresu o współrzędnych szerokości i długości geograficznej podanych w danych:
https://maps.googleapis.com/maps/api/geocode/json?latlng=41.864182,-87.676930&key=YOUR_API_KEY
Użyj wstecznego geokodowania z filtrowaniem komponentów, aby uzyskać komponent adresu dla co najmniej jednego z tych typów w określonej lokalizacji:
administrativeArea
country
locality
postalCode
Następująca przykładowa funkcja korzysta z usługi geokodowania, dodając ograniczenia komponentów za pomocą odwrotnego geokodowania, aby uzyskać wszystkie komponenty adresu w określonej lokalizacji tylko dla typu locality
:
https://maps.googleapis.com/maps/api/geocode/json?latlng=41.864182,-87.676930&result_type=locality&key=YOUR_API_KEY