Le SDK Places pour iOS est compatible avec Place Autocomplete (ancienne version). Si vous connaissez Place Autocomplete (ancienne version), Place Autocomplete (nouvelle version) voici les modifications apportées :
Utilise un nouveau modèle de tarification. Pour en savoir plus sur la tarification de toutes les API, consultez Tarification du SDK Places pour iOS (nouvelle version).
Pour effectuer une requête, appelez la nouvelle
GMSPlacesClient fetchAutocompleteSuggestionsFromRequest:méthode.Transmettez les éléments suivants à la requête :
Une instance de la nouvelle
GMSAutocompleteRequestclasse qui définit tous les paramètres de la requête, tels que la requête et le jeton de session.Un rappel de type
GMSAutocompleteSuggestionsCallbackpour gérer la réponse.
La classe vous permet désormais d'effectuer les opérations suivantes :
GMSAutocompleteFilter- Définir le code de région utilisé pour déterminer la mise en forme des résultats.
- Définir le décalage de prédiction, un décalage de caractère Unicode de la requête basé sur zéro.
La réponse est définie par la nouvelle
GMSAutocompleteSuggestionclasse. Cette classe contient un tableau d'instances du nouveau typeGMSAutocompletePlaceSuggestionreprésentant les suggestions.La session se termine désormais par un appel à soit Place Details (nouvelle version) ou à Address Validation. Pour en savoir plus, consultez Autocomplete (nouvelle version) et tarification des sessions.
Exemple de requête
Avec Place Autocomplete (nouvelle version), 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.
}
}
}];