Używanie usługi Places i interfejsu Geocoding API z stylem opartym na danych do wyznaczania granic

Wybierz platformę: Android iOS JavaScript

Za pomocą usługi Places i interfejsu Geocoding API z pakietem SDK Mapy na Androida możesz wyszukiwać regiony i uzyskiwać więcej informacji o miejscach. Interfejsy Places API i Geocoding API to wydajne i stabilne alternatywy umożliwiające pobieranie 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:

  • Pakiet SDK Miejsca na Androida to biblioteka na Androida zawierająca metody zwracające informacje o miejscach.
  • Interfejs Places API zwraca informacje o miejscach przy użyciu żądań HTTP.
  • Klasa Geocoder może dynamicznie geokodować i geokodować odwrotnie dane wejściowe użytkownika.
  • Interfejs Geocoding API umożliwia geokodowanie statycznych, znanych adresów.

Korzystanie z usługi Places

Używanie wyszukiwania tekstowego (nowego) do znajdowania identyfikatorów miejsc

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 funkcji wyszukiwania tekstowego (nowej) do żądania identyfikatorów miejsc jest bezpłatne. Więcej informacji

Aby na przykład uzyskać identyfikator miejsca Trinidad w Kanadzie, możesz wykonać taki 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

Usługa Autouzupełnianie miejsc w pakiecie SDK Miejsc na Androida zapewnia wygodny sposób na umożliwienie użytkownikom wyszukiwania 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 nazw miejsc.
  • Pobierz widoczny obszar, aby powiększyć do granicy.
  • Uzyskaj typ funkcji dla 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.

Korzystanie z 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, 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ą geokodowania odwrotnego, 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