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 Miejsca 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 użyć ponownie w przypadku stylów opartych na danych dotyczących granic.
Usługę Miejsca 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 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 odwrotnie geokodować dane wejściowe użytkownika.
- Interfejs Geocoding API umożliwia geokodowanie statycznych, znanych adresów.
Korzystanie z usługi Miejsca
Znajdowanie identyfikatora miejsca za pomocą wyszukiwania tekstowego (nowość)
Aby uzyskać identyfikator miejsca, który zawiera dane regionu, możesz użyć interfejsu Wyszukaj tekst (New) REST API w interfejsie Places API. W tym celu określ places.id w masce pola. Korzystanie z wyszukiwania tekstowego (nowość) 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 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)
aby ustawić filtr typu na PlaceTypes.REGIONS.
Uzyskiwanie szczegółów miejsca w regionie
Usługa informacji o miejscu w pakiecie SDK Miejsc na Androida zwraca dane regionu, które mogą być bardzo przydatne. Możesz na przykład:
- Wyszukiwać identyfikatory miejsc w granicach na podstawie nazw miejsc.
- Uzyskiwać widoczny obszar, aby powiększać granice.
- Uzyskiwać typ funkcji dla granicy (np.
locality). - Uzyskiwać sformatowany adres, który w regionie Stanów Zjednoczonych jest tłumaczony na „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 przekształcanie adresu na współrzędne geograficzne (szerokość i długość) i identyfikator miejsca lub przekształcanie współrzędnych geograficznych (szerokość i długość) lub identyfikatora miejsca na adres. Poniższe elementy dobrze współdziałają ze stylami opartymi na danych dotyczących granic:
- Użyj geokodowania, aby uzyskać widoczny obszar 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 geograficznych, lub nawet zwrócić identyfikatory miejsc dla wszystkich komponentów w danej lokalizacji.
W tym przykładzie użyto adresu (z pominięciem znaków specjalnych w adresie URL), aby wysłać żądanie do interfejsu Geocoding API:
https://maps.googleapis.com/maps/api/geocode/json?address=1600%20Amphitheatre%20Pkwy%20Mountain%20View%20CA&key=YOUR_API_KEYDo znajdowania identyfikatorów miejsc możesz używać odwrotnego geokodowania. Ta przykładowa funkcja usługi geokodowania zwraca identyfikatory miejsc dla wszystkich komponentów adresu o podanych współrzędnych geograficznych:
https://maps.googleapis.com/maps/api/geocode/json?latlng=41.864182,-87.676930&key=YOUR_API_KEYUżyj odwrotnego geokodowania z filtrowaniem komponentów, aby uzyskać komponent adresu dla co najmniej 1 z tych typów w określonej lokalizacji:
administrativeAreacountrylocalitypostalCode
Poniższa przykładowa funkcja pokazuje, jak używać 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