Do wyszukiwania regionów i uzyskiwania dodatkowych informacji o miejscach możesz używać pakietu Places SDK dla iOS oraz interfejsu Geocoding API z pakietem SDK Map Google na iOS. Pakiet Places SDK na iOS i interfejs Geocoding API to wydajne i stabilne alternatywy uzyskiwania identyfikatorów miejsc. Jeśli korzystasz już z identyfikatorów miejsc, możesz ich ponownie używać w przypadku granic w stylu opartym na danych.
Dodaj Miejsca i geokodowanie do pakietu SDK Map Google na aplikacje na iOS w następujący sposób:
- Pakiet SDK Miejsc na iOS zwraca informacje o miejscach za pomocą żądań HTTP.
- Klasa CLGeocoder pozwala dynamicznie geokodować i odwracać kody geograficzne na podstawie danych wejściowych użytkownika.
- Interfejs Geocoding API umożliwia geokodowanie statycznych, znanych adresów.
Użyj interfejsu Places API
Wyszukiwanie tekstowe w interfejsie Places API zwraca informacje o zestawie miejsc na podstawie ciągu znaków, np. „pizza w Nowym Jorku”, „sklepy obuwnicze w pobliżu Ottawy” lub „ulica Główna 123”. Usługa wysyła w odpowiedzi listę miejsc pasujących do ciągu tekstowego i ustawione odchylenie do lokalizacji.
Usługa Autouzupełnianie miejsc zapewnia użytkownikom wygodny sposób wyszukiwania regionów. Aby wyświetlić wyniki w zdefiniowanym regionie, ustaw
locationRestriction
naGMSAutocompleteFilter
.
Pobieranie szczegółów miejsca dla regionu
Obowiązują też dane o miejscu dla regionu. Na przykład możesz:
- Wyszukuj identyfikatory miejsc na granicy na podstawie nazw miejsc.
- Pobierz widoczny obszar, aby powiększyć widok do granicy.
- Pobierz typ obiektu granicy (np. rejon).
- Uzyskaj sformatowany adres, który będzie mieć postać „Nazwa miejsca, Stan, Kraj” w regionie Stanów Zjednoczonych (np. „Kirkland, WA, USA”).
- uzyskać inne przydatne dane, np. zdjęcia.
Korzystanie z interfejsu Geocoding API
Interfejs Geocoding API umożliwia konwersję adresu, szerokości i długości geograficznej lub identyfikatora miejsca na współrzędne geograficzne. Poniższe zastosowania dobrze łączą się ze stylem opartym na danych w zakresie granic:
- Aby uzyskać widoczny obszar dla danego regionu, użyj geokodowania.
- Zastosuj filtrowanie komponentów w wywołaniu geokodowania, aby uzyskać identyfikatory miejsc dla obszarów administracyjnych 1–4, miejscowości lub kodu pocztowego.
- Za pomocą odwrotnego geokodowania możesz znaleźć identyfikatory miejsc według szerokości i długości geograficznej, a nawet zwrócić identyfikatory miejsc dla wszystkich komponentów w danej lokalizacji.
Poniższy przykład używa adresu (ze zmianą znaczenia adresu URL) w celu wysłania żądania do interfejsu Geocoding API:
https://maps.googleapis.com/maps/api/geocode/json?latlng=41.864182,-87.676930&key=YOUR_API_KEY
Aby znaleźć identyfikatory miejsc, możesz użyć odwrotnego geokodowania. Poniższa przykładowa funkcja usługi Geocoding 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&result_type=locality&key=YOUR_API_KEY
Aby uzyskać w określonej lokalizacji komponent adresu dla co najmniej jednego z tych typów danych, użyj odwrotnego geokodowania z filtrowaniem komponentów:
administrativeArea
country
locality
postalCode
schoolDistrict
Poniższy przykład pokazuje, jak korzystać z usługi Geocoding z dodaniem ograniczeń komponentów z użyciem odwrotnego geokodowania w celu pobrania wszystkich komponentów adresu w określonej lokalizacji dla typu
locality
:https://maps.googleapis.com/maps/api/geocode/json?latlng=41.864182,-87.676930&result_type=locality&key=YOUR_API_KEY