Le SDK Places pour iOS est compatible avec la fonctionnalité Place Autocomplete existante. Si vous connaissez bien Place Autocomplete, la nouvelle versionPlace Autocomplete apporte les modifications suivantes:
Utilise un nouveau modèle de tarification. Pour obtenir des informations sur la tarification de toutes les API, consultez Tarifs du SDK Places pour iOS (nouveau).
Pour effectuer 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 le jeton de 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éfinit le code régional utilisé pour déterminer la mise en forme des résultats.
- Définissez le décalage de prédiction, un décalage de caractère Unicode de base à 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 maintenant par un appel à Place Details (New) ou Address Validation. Pour en savoir plus, consultez la section Autocomplete (Nouveau) et les tarifs des sessions.
Exemple de requête
Avec Place Autocomplete (Nouveau), vous envoyez une requête et transmettez tous les paramètres à 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.
}
}
}];