Pakiet SDK Miejsc na iOS obsługuje autouzupełnianie miejsc (starsza wersja). Jeśli znasz starszą wersję usługi autouzupełniania miejsc, autouzupełnianie miejsc (nowa wersja) wprowadza te zmiany:
Korzysta z nowego modelu cenowego. Informacje o cenach wszystkich interfejsów API znajdziesz w artykule Ceny pakietu Places SDK na iOS (nowy).
Aby wysłać prośbę, wywołaj nową metodę
GMSPlacesClient fetchAutocompleteSuggestionsFromRequest:.Przekaż do żądania:
Instancja nowej klasy
GMSAutocompleteRequest, która definiuje wszystkie parametry żądania, takie jak zapytanie i token sesji.Wywołanie zwrotne typu
GMSAutocompleteSuggestionsCallbackdo obsługi odpowiedzi.
GMSAutocompleteFilterZajęcia umożliwiają teraz:- Ustaw kod regionu używany do określania formatowania wyników.
- Ustaw przesunięcie prognozy, czyli przesunięcie znaku Unicode w zapytaniu liczone od zera.
Odpowiedź jest definiowana przez nową klasę
GMSAutocompleteSuggestion. Ta klasa zawiera tablicę instancji nowego typuGMSAutocompletePlaceSuggestionreprezentujących sugestie.Sesja kończy się wywołaniem funkcji Szczegóły miejsca (nowe) lub Weryfikacja adresu. Więcej informacji znajdziesz w artykule Autouzupełnianie (nowa wersja) i ceny sesji.
Przykładowe żądanie
W przypadku autouzupełniania miejsc (nowego) 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.
}
}
}];