Le SDK Places pour iOS est compatible avec l'autocomplétion de lieu existante. Si vous connaissez déjà Place Autocomplete, la nouvelle version de Place Autocomplete apporte les modifications suivantes:
Utilise un nouveau modèle de tarification. Pour en savoir plus sur les tarifs de toutes les API, consultez la page Tarifs du SDK Places pour iOS (nouveau).
Pour envoyer une requête, appelez la nouvelle méthode
GMSPlacesClient fetchAutocompleteSuggestionsFromRequest:
.Transmettez à la requête:
Instance de la nouvelle classe
GMSAutocompleteRequest
qui définit tous les paramètres de requête, tels que la requête et le jeton de session.Un rappel de type
GMSAutocompleteSuggestionsCallback
pour gérer la réponse.
La classe
GMSAutocompleteFilter
vous permet désormais d'effectuer les opérations suivantes:- Définissez le code de région utilisé pour déterminer le formatage des résultats.
- Définissez le décalage de prédiction, un décalage de caractère Unicode basé sur zéro de la requête.
La réponse est définie par la nouvelle classe
GMSAutocompleteSuggestion
. Cette classe contient un tableau d'instances du nouveau typeGMSAutocompletePlaceSuggestion
représentant les suggestions.La session se termine désormais par un appel à Place Details (New) (Informations sur le lieu (nouveau)) ou à Address Validation (Validation de l'adresse). Pour en savoir plus, consultez la section Autocomplétion (nouveau) et tarification des sessions.
Exemple de requête
Avec Place Autocomplete (New), vous effectuez une requête et transmettez tous les paramètres dans l'instance 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.
}
}
}];