L'SDK Places per iOS supporta l'attuale funzione di completamento automatico di Place. Se hai familiarità con la funzionalità di Place Autocomplete esistente, la nuova versione di Place Autocomplete apporterà le seguenti modifiche:
Utilizza un nuovo modello di determinazione del prezzo. Per informazioni sui prezzi di tutte le API, vedi Prezzi per Places SDK for iOS (nuovi).
Per effettuare una richiesta, chiama il nuovo metodo
GMSPlacesClient fetchAutocompleteSuggestionsFromRequest:
.Passa alla richiesta:
Un'istanza della nuova classe
GMSAutocompleteRequest
che definisce tutti i parametri della richiesta, come la query e il token di sessione.Un callback di tipo
GMSAutocompleteSuggestionsCallback
per gestire la risposta.
Il corso
GMSAutocompleteFilter
ora ti consente di:- Imposta il codice regione utilizzato per determinare la formattazione dei risultati.
- Imposta l'offset di previsione, un offset di caratteri Unicode a base zero della query.
La risposta è definita dalla nuova classe
GMSAutocompleteSuggestion
. Questa classe contiene un array di istanze del nuovo tipoGMSAutocompletePlaceSuggestion
che rappresentano i suggerimenti.La sessione si conclude ora con una chiamata a Place Details (New) (Dettagli luogo) o Address Validation. Per maggiori informazioni, consulta Completamento automatico (novità) e prezzi delle sessioni.
Esempio di richiesta
Con Place Autocomplete (New), puoi effettuare una richiesta e passare 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.
}
}
}];