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

Wybierz platformę: Android iOS JavaScript

Możesz używać usługi Places i interfejsu Geocoding API z pakietem Maps SDK na Androida, aby wyszukiwać regiony i uzyskiwać więcej informacji o miejscach. Usługa Places i interfejs Geocoding API to zaawansowane i stabilne alternatywy do uzyskiwania identyfikatorów miejsc. Jeśli używasz już identyfikatorów miejsc, możesz ich używać ze stylami opartymi na danych w przypadku granic.

Dodaj usługę Miejsca i geokodowanie do aplikacji na Androida korzystających z pakietu Maps SDK na Androida w następujący sposób:

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

Korzystanie z usługi Places Service

Znajdowanie identyfikatora miejsca za pomocą wyszukiwania tekstowego (nowego)

Możesz użyć interfejsu API (typu) REST Wyszukaj tekst (Nowe) w Places API, aby uzyskać identyfikator miejsca, który zawiera dane o regionie, określając places.id w masce pola. Korzystanie z usługi Wyszukaj tekst (New) do żądania identyfikatorów miejsc jest bezpłatne. Więcej informacji

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

Znajdowanie regionów za pomocą autouzupełniania miejsc

Usługa autouzupełniania miejsc w pakiecie Places SDK for Android umożliwia użytkownikom wygodne wyszukiwanie regionów. Aby skonfigurować usługę autouzupełniania miejsc tak, aby zwracała tylko regiony, użyj AutocompleteSupportFragment.setTypesFilter(List) i ustaw filtr typu na PlaceTypes.REGIONS.

Uzyskiwanie informacji o miejscu w regionie

Usługa informacje o miejscu w pakiecie SDK Miejsc na Androida zwraca dane dotyczące regionu, które mogą być bardzo przydatne. Możesz na przykład:

  • Wyszukaj identyfikatory miejsc granicznych na podstawie nazw miejsc.
  • Pobierz widoczny obszar, aby powiększyć do granicy.
  • Pobierz typ obiektu dla granicy (np. locality).
  • pobrać sformatowany adres, który w Stanach Zjednoczonych ma postać „Nazwa miejsca, stan, kraj” (np. „Ottumwa, IA, USA”);
  • uzyskiwać 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 i identyfikatora miejsca na adres. Te zastosowania dobrze łączą się ze stylem opartym na danych w przypadku granic:

  • Użyj geokodowania, aby uzyskać widoczny obszar 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.
  • Użyj odwrotnego geokodowania, aby znaleźć identyfikatory miejsc według współrzędnych szerokości i długości geograficznej, a nawet zwrócić identyfikatory miejsc dla wszystkich komponentów w określonej lokalizacji.

W poniższym przykładzie użyto adresu (z kodowaniem 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. Poniższy przykład funkcji usługi geokodowania zwraca identyfikatory miejsc dla wszystkich komponentów adresu o określonych współrzędnych szerokości i długości geograficznej:

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 dla co najmniej 1 z tych typów w określonej lokalizacji:

  • administrativeArea
  • country
  • locality
  • postalCode

Kolejny przykład funkcji pokazuje, jak używać usługi geokodowania, dodając ograniczenia komponentów z odwrotnym geokodowaniem, 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