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 Miejsca i interfejsu Geocoding API w pakiecie SDK Map Google na Androida możesz wyszukiwać regiony i uzyskiwać więcej informacji o miejscach. Usługa Places i interfejs Geocoding API to wydajne i stabilne alternatywy do uzyskiwania identyfikatorów miejsc. Jeśli używasz już identyfikatorów miejsc, możesz ich ponownie użyć w przypadku stylów opartych na danych dla granic.

Dodaj usługę Miejsc i geokodowanie do aplikacji korzystających z pakietu SDK Map Google na Androida w jeden z tych sposobów:

  • Pakiet SDK Miejsc na Androida to biblioteka Androida zawierająca metody zwracające informacje o miejscach.
  • Places API zwraca informacje o miejscach przy użyciu żą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 Miejsca

Znajdowanie identyfikatora miejsca za pomocą wyszukiwania tekstowego (nowa wersja)

Możesz użyć interfejsu Text Search (New) API w interfejsie Places API, aby uzyskać identyfikator miejsca, który zawiera dane regionu, określając places.id w masce pola. Korzystanie z usługi Wyszukiwanie tekstowe (nowa) w celu wysyłania żądań identyfikatorów miejsc nie wiąże się z żadnymi opłatami. 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 SDK Miejsc na Androida to wygodny sposób na umożliwienie użytkownikom wyszukiwania regionów. Aby skonfigurować usługę autouzupełniania Miejsc Google tak, aby zwracała tylko regiony, użyj parametru 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, które mogą być bardzo przydatne. Możesz na przykład:

  • Wyszukiwanie identyfikatorów miejsc granicznych na podstawie nazw miejsc.
  • Pobierz widoczny obszar, aby powiększyć go do granicy.
  • Pobierz typ funkcji dla granicy (np. locality).
  • Uzyskaj sformatowany adres, który w Stanach Zjednoczonych będzie miał postać „Nazwa miejsca, Stan, Kraj” (np. „Ottumwa, IA, USA”).
  • uzyskiwać inne przydatne dane, takie jak zdjęcia.

Korzystanie z interfejsu Geocoding API

Geocoding API umożliwia przekształcanie adresu na współrzędne geograficzne (szerokość i długość geograficzną) oraz identyfikator miejsca, a także przekształcanie współrzędnych geograficznych lub identyfikatora miejsca na adres. Te zastosowania dobrze współgrają ze stylem opartym na danych w przypadku granic:

  • Użyj geokodowania, aby uzyskać widoczny obszar regionu.
  • Zastosuj filtrowanie komponentów w wywołaniu Geocoding, aby uzyskać identyfikatory miejsc dla obszarów administracyjnych 1–4, miejscowości lub kodu pocztowego.
  • Użyj odwrotnego geokodowania, aby znaleźć identyfikatory miejsc na podstawie współrzędnych geograficznych, a nawet zwrócić identyfikatory miejsc dla wszystkich komponentów w określonej lokalizacji.

W tym przykładzie użyto adresu (z kodowaniem URL) do wysłania żądania do 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 Geocoding zwraca identyfikatory miejsc dla wszystkich komponentów adresu w 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 geokodowania zwrotnego 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ępna przykładowa funkcja pokazuje, jak używać usługi geokodowania, dodając ograniczenia dotyczące 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