Places SDK for iOS (Legacy) supporta Place Autocomplete (Legacy). Se hai familiarità con Place Autocomplete (legacy), Autocomplete (New) apporta le seguenti modifiche:
Utilizza un nuovo modello di prezzi. Per informazioni sui prezzi di tutte le API, consulta la sezione Utilizzo e fatturazione.
Per effettuare una richiesta, chiama il nuovo metodo
GMSPlacesClient fetchAutocompleteSuggestionsFromRequest:.Passa alla richiesta:
Un'istanza della nuova classe
GMSAutocompleteRequestche definisce tutti i parametri della richiesta, come la query e il token di sessione.Un callback di tipo
GMSAutocompleteSuggestionsCallbackper gestire la risposta.
Il corso
GMSAutocompleteFilterora ti consente di:- Imposta il codice regione utilizzato per determinare la formattazione dei risultati.
- Imposta l'offset di previsione, un offset di caratteri Unicode in base zero della query.
La risposta è definita dalla nuova classe
GMSAutocompleteSuggestion. Questa classe contiene un array di istanze del nuovo tipoGMSAutocompletePlaceSuggestionche rappresentano i suggerimenti.La sessione ora si conclude con una chiamata a Place Details (New) o Address Validation. Per maggiori informazioni, consulta Prezzi del completamento automatico (nuovo) e delle sessioni.
Esempio di richiesta
Con il completamento automatico (nuovo), invii una richiesta e
trasmetti 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.
}
}
}];