Używaj usługi Miejsca i interfejsu Geocoding API ze stylem opartym na danych dla granic

Wybierz platformę: Android iOS JavaScript

Możesz wyszukiwać regiony i uzyskiwać więcej informacji o miejscach za pomocą usługi Miejsca oraz interfejsu Geocoding API w pakiecie Maps SDK for Android. Usługa Places i interfejs Geocoding API to wydajne i stabilne alternatywy dla uzyskiwania identyfikatorów miejsc. Jeśli używasz już identyfikatorów miejsc, możesz ich używać ponownie w ramach stylizacji opartej na danych.

Dodaj usługę Miejsca i geokodowanie do aplikacji z pakietu Maps SDK na Androida na te sposoby:

  • SDK Miejsc na Androida to biblioteka Androida zawierająca metody zwracania informacji o miejscach.
  • Interfejs Places API zwraca informacje o miejscach korzystających z żądań HTTP.
  • Klasa geokodera może dynamicznie geokodować i odwracać geokodowanie na podstawie danych wejściowych użytkownika.
  • Interfejs Geocoding API umożliwia geokodowanie statycznych, znanych adresów.

Korzystanie z usługi Miejsca

Użyj wyszukiwania tekstowego (nowego) do znalezienia identyfikatora miejsca

Możesz użyć interfejsu API typu Text Search (nowość) w interfejsie Places API, aby uzyskać identyfikator miejsca zawierający dane regionu, podając places.id w masce pola. Korzystanie z funkcji wyszukiwania tekstowego (nowej) do żądania identyfikatorów miejsc jest bezpłatne. Więcej informacji

Aby np. uzyskać identyfikator miejsca dla Trynidadu w województwie pomorskim, możesz wywołać to polecenie 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

Usługa Autouzupełnianie miejsc w pakiecie SDK Miejsc na Androida zapewnia wygodny sposób wyszukiwania przez użytkowników regionów. Aby skonfigurować usługę autouzupełniania Miejsca tak, aby zwracała tylko regiony, użyj wartości AutocompleteSupportFragment.setTypesFilter(List), aby ustawić filtr typu na PlaceTypes.REGIONS.

Pobieranie szczegółów miejsca 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:

  • Szukaj identyfikatorów miejsc na podstawie ich nazw.
  • Pobierz widoczny obszar, aby powiększyć do granicy.
  • Pobierz typ cechy granicy (na przykład locality).
  • Uzyskaj sformatowany adres, który w Stanach Zjednoczonych jest interpretowany jako „Nazwa miejsca, stan, kraj” (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. Poniższe zastosowania dobrze łączą się ze stylem opartym na danych w przypadku granic:

  • Użyj geokodowania, aby uzyskać widok dla regionu.
  • Zastosuj filtrowanie komponentów do wywołania geokodowania, aby uzyskać identyfikatory miejsc dla obszarów administracyjnych 1–4, miejscowości lub kodu pocztowego.
  • 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 tym przykładzie użyto adresu (z eskapażem URL) do wysłania żądania do interfejsu Geocoding API:

https://maps.googleapis.com/maps/api/geocode/json?address=1600%20Amphitheatre%20Pkwy%20Mountain%20View%20CA&key=YOUR_API_KEY

Aby znaleźć identyfikatory miejsc, możesz użyć odwrotnego geokodowania. W tym przykładzie funkcja usługi geokodowania zwraca identyfikatory miejsc dla wszystkich elementów adresu o określonych współrzędnych geograficznych:

https://maps.googleapis.com/maps/api/geocode/json?latlng=41.864182,-87.676930&key=YOUR_API_KEY

Użyj odwrotnego geokodowania z filtrowaniem komponentów, aby uzyskać komponent adresu w przypadku co najmniej jednego z tych typów w wybranej 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