Pakiet SDK Miejsc na iOS (starsza wersja) obsługuje autouzupełnianie miejsc (starsza wersja). Jeśli znasz usługę Autouzupełnianie miejsc (starsza wersja), Autouzupełnianie (nowa wersja) wprowadza te zmiany:
Używa nowego modelu cenowego. Informacje o cenach wszystkich interfejsów API znajdziesz w artykule Korzystanie i rozliczenia.
Aby wysłać prośbę, wywołaj nową metodę
GMSPlacesClient fetchAutocompleteSuggestionsFromRequest:.Przekaż do żądania:
Instancja nowej klasy
GMSAutocompleteRequestdefiniująca 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 od początku zapytania (liczone od zera).
Odpowiedź jest zdefiniowana przez nową klasę
GMSAutocompleteSuggestion. Ta klasa zawiera tablicę instancji nowego typuGMSAutocompletePlaceSuggestionreprezentujących sugestie.Sesja kończy się wywołaniem funkcji informacje o miejscu (nowe) lub Weryfikacja adresów. Więcej informacji znajdziesz w artykule Autouzupełnianie (nowa wersja) i ceny sesji.
Przykładowe żądanie
W przypadku autouzupełniania (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.
}
}
}];