Pakiet Places SDK for iOS (starsza wersja) obsługuje autouzupełnianie miejsc (starsza wersja). Jeśli znasz 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 z interfejsów API i powiązane rozliczenia.
Aby wysłać żądanie, 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.
Klasa
GMSAutocompleteFilterumożliwia teraz:- Ustaw kod regionu używany do określania formatowania wyników.
- Ustaw przesunięcie podpowiedzi, czyli przesunięcie znaku Unicode zapytania liczone od 0.
Odpowiedź jest definiowana przez nową klasę
GMSAutocompleteSuggestion. Ta klasa zawiera tablicę instancji nowego typuGMSAutocompletePlaceSuggestionreprezentujących sugestie.Sesja kończy się wywołaniem metody informacje o miejscu (nowa wersja) lub Weryfikacja adresów. Więcej informacji znajdziesz w artykule Autouzupełnianie (nowe) 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.
}
}
}];