Le SDK Places pour iOS est compatible avec Place Autocomplete. Si vous connaissez la suite Place Autocomplete, la nouvelle version Place Autocomplete 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:
Une instance de la nouvelle classe
GMSAutocompleteRequest
qui définit tous les paramètres de requête, tels que les champs de requête un jeton de session unique.Rappel de type
GMSAutocompleteSuggestionsCallback
pour gérer la réponse.
La
GMSAutocompleteFilter
vous permet désormais de:- Définit le code régional utilisé pour déterminer la mise en forme des résultats.
- Définissez le décalage de prédiction (décalage de caractère Unicode basé sur zéro du caractère requête.
La réponse est définie par le nouveau
GMSAutocompleteSuggestion
. Cette classe contient un tableau d'instances du nouveau typeGMSAutocompletePlaceSuggestion
représentant les suggestions.La session se termine par un appel Place Details (New) ou Address Validation : Pour Pour en savoir plus, consultez Autocomplete (nouvelle version) et tarifs des sessions.
Exemple de requête
Avec Place Autocomplete (Nouveau), vous envoyez une requête
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.
}
}
}];