Le SDK Places pour iOS est compatible avec Place Autocomplete (ancienne version). Si vous connaissez Place Autocomplete (Ancien), Place Autocomplete (Nouveau) apporte les modifications suivantes :
Utilise un nouveau modèle de tarification. Pour obtenir des informations sur les tarifs de toutes les API, consultez 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 le jeton de requête et de session.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 régional utilisé pour déterminer le format 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) ou Address Validation. Pour en savoir plus, consultez Tarifs de la saisie semi-automatique (nouvelle version) et des sessions.
Exemple de requête
Avec Place Autocomplete (New), vous envoyez 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.
}
}
}];