Pakiet SDK Miejsc na iOS obsługuje autouzupełnianie miejsc (wersja starsza). Jeśli znasz autouzupełnianie miejsc (wersja starsza), autouzupełnianie miejsc (wersja nowa) wprowadza te zmiany:
Korzysta z nowego modelu cen. Informacje o cenach wszystkich interfejsów API znajdziesz w artykule Ceny pakietu SDK Miejsc na iOS (wersja nowa).
Aby wysłać żądanie, wywołaj nową
GMSPlacesClient fetchAutocompleteSuggestionsFromRequest:metodę.Przekaż do żądania:
instancję nowej
GMSAutocompleteRequestklasy, która definiuje wszystkie parametry żądania, takie jak zapytanie i token sesji;wywołanie zwrotne typu
GMSAutocompleteSuggestionsCallback, które obsługuje odpowiedź.
Klasa
GMSAutocompleteFilterumożliwia teraz:- ustawienie kodu regionu używanego do określania formatowania wyników;
- ustawienie przesunięcia prognozy, czyli przesunięcia znaku Unicode w zapytaniu liczonego od zera.
Odpowiedź jest definiowana przez nową
GMSAutocompleteSuggestionklasę. Ta klasa zawiera tablicę instancji nowego typuGMSAutocompletePlaceSuggestionreprezentujących sugestie.Sesja kończy się wywołaniem funkcji Szczegóły miejsca (wersja nowa) lub Weryfikacja adresu. Więcej informacji znajdziesz w artykule Autouzupełnianie (wersja nowa) i ceny sesji.
Przykładowe żądanie
W przypadku autouzupełniania miejsc (wersja nowa) wysyłasz żądanie i przekazujesz wszystkie parametry w instancji GMSAutocompleteRequest:
Swift
let token = GMSAutocompleteSessionToken()
let northEastBounds = CLLocationCoordinate2DMake(37.38816277477739, -122.08813770258874)
let southWestBounds = CLLocationCoordinate2DMake(37.39580487866437, -122.07702325966572)
let filter = GMSAutocompleteFilter()
filter.types = [kGMSPlaceTypeRestaurant]
filter.locationBias = GMSPlaceRectangularLocationOption(northEastBounds, southWestBounds)
let request = GMSAutocompleteRequest(query:"Sicilian piz")
request.filter = filter
request.sessionToken = token
GMSPlacesClient.shared().fetchAutocompleteSuggestions(from: request, callback: { results, error in
// Handle response
})
Objective-C
CLLocationCoordinate2D northEast = CLLocationCoordinate2DMake(37.38816277477739, -122.08813770258874);
CLLocationCoordinate2D southWest = CLLocationCoordinate2DMake(37.39580487866437, -122.07702325966572);
GMSAutocompleteFilter *filter = [[GMSAutocompleteFilter alloc] init];
filter.types = @[ kGMSPlaceTypeRestaurant ];
filter.locationBias = GMSPlaceRectangularLocationOption(northEast, southWest);
GMSAutocompleteRequest *request = [[GMSAutocompleteRequest alloc] initWithQuery:@"Sicilian piz"];
request.sessionToken = token;
request.filter = filter;
[[GMSPlacesClient sharedClient] fetchAutocompleteSuggestionsFromRequest:request callback:^(NSArray<GMSAutocompleteSuggestion *> * results, NSError * error){
// Handle response
for (GMSAutocompleteSuggestion *suggestion in results) {
if (suggestion.placeSuggestion) {
// Show place suggestion data.
}
}
}];