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 Maps SDK 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.

Usługę Miejsc i geokodowanie możesz dodać do aplikacji korzystających z pakietu Maps SDK na Androida na te sposoby:

  • 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)

Aby uzyskać identyfikator miejsca, który zawiera dane regionu, możesz użyć interfejsu Wyszukaj tekst (New) REST API w interfejsie Places API, 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łnianie miejsc w pakiecie SDK Miejsc na Androida zapewnia wygodny sposób wyszukiwania regionów przez użytkowników. Aby skonfigurować usługę Autouzupełnianie miejsc 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 informacje o miejscu 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 regionie Stanów 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 i identyfikator miejsca lub przekształcanie współrzędnych geograficznych bądź identyfikatora miejsca na adres. Poniższe zastosowania dobrze sprawdzają się w przypadku stylizacji granic na podstawie danych:

  • Użyj geokodowania, aby uzyskać widoczny obszar regionu.
  • Zastosuj filtrowanie komponentów do wywołania interfejsu Geocoding API, 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 geokodowania zwraca identyfikatory miejsc wszystkich komponentów adresu dla 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 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ą 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