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

Wybierz platformę: Android iOS JavaScript

Za pomocą usługi Miejsca i interfejsu Geokodowanie API w pakiecie SDK Mapy na Androida możesz wyszukiwać regiony oraz uzyskiwać więcej informacji o miejscach. Usługa Places oraz Geocoding API to zaawansowane i stabilne rozwiązania, które pozwalają uzyskać identyfikatory miejsc. Jeśli używasz już identyfikatorów miejsc, możesz użyć ich ponownie w stylu opartym na danych na potrzeby granic.

Dodaj usługę Miejsca i Geokodowanie do pakietu Maps SDK dla aplikacji na Androida na następujące 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 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

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

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. Skorzystanie z wyszukiwania tekstowego (nowego) do wysyłania zapytań o identyfikatory 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łniania 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:

  • Wyszukuj identyfikatory miejsc przy granicach na podstawie nazw miejsc.
  • Pobierz widoczny obszar, aby powiększyć do granicy 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. 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.
  • Odwrotne geokodowanie pozwala znaleźć identyfikatory miejsc według współrzędnych szerokości i długości geograficznej. Możesz nawet wyświetlić identyfikatory miejsc dla wszystkich komponentów w konkretnej 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