Places SDK for iOS supporta il completamento automatico dei luoghi (legacy). Se hai familiarità con Place Autocomplete (legacy), Place Autocomplete (nuovo) apporta le seguenti modifiche:
Utilizza un nuovo modello di prezzi. Per informazioni sui prezzi di tutte le API, consulta Prezzi di Places SDK per iOS (nuovo).
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 in 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 ora si conclude con una chiamata a Place Details (New) o Address Validation. Per maggiori informazioni, consulta Completamento automatico (nuovo) e prezzi per sessione.
Esempio di richiesta
Con Place Autocomplete (New), 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.
}
}
}];