Places SDK for iOS supporta Place Autocomplete (Legacy). Se hai familiarità con Place Autocomplete (Legacy), Place Autocomplete (New) apporta le seguenti modifiche:
Utilizza un nuovo modello di prezzi. Per informazioni sui prezzi di tutte le API, vedi Prezzi di Places SDK for iOS (New).
Per effettuare una richiesta, chiama il nuovo
GMSPlacesClient fetchAutocompleteSuggestionsFromRequest:metodo.Passa alla richiesta:
Un'istanza della nuova
GMSAutocompleteRequestclasse che definisce tutti i parametri della richiesta, come la query e il token di sessione.Un callback di tipo
GMSAutocompleteSuggestionsCallbackper gestire la risposta.
La classe ora ti consente di:
GMSAutocompleteFilter- Impostare il codice regione utilizzato per determinare la formattazione dei risultati.
- Impostare l'offset di previsione, un offset di caratteri Unicode della query basato su zero.
La risposta è definita dalla nuova
GMSAutocompleteSuggestionclasse. Questa classe contiene un array di istanze del nuovo tipoGMSAutocompletePlaceSuggestionche rappresenta i suggerimenti.La sessione ora si conclude con una chiamata a Place Details (New) o Address Validation. Per ulteriori informazioni, vedi Completamento automatico (New) e prezzi delle sessioni.
Esempio di richiesta
Con Place Autocomplete (New), effettui una richiesta e passi tutti i parametri nell'istanza 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.
}
}
}];