O SDK do Places para iOS oferece suporte ao Place Autocomplete. Se você já conhece o Place Autocomplete, a nova versão dele faz as seguintes mudanças:
Usa um novo modelo de preços. Para informações de preços de todas as APIs, consulte Preços do SDK do Places para iOS (novo).
Para fazer uma solicitação, chame o novo método
GMSPlacesClient fetchAutocompleteSuggestionsFromRequest:
.Transmita para a solicitação:
Uma instância da nova classe
GMSAutocompleteRequest
que define todos os parâmetros de solicitação, como o token de consulta e sessão.Um callback do tipo
GMSAutocompleteSuggestionsCallback
para processar a resposta.
A classe
GMSAutocompleteFilter
agora permite:- Define o código da região usado para determinar a formatação dos resultados.
- Defina o deslocamento de previsão, um deslocamento de caractere Unicode com base em zero da consulta.
A resposta é definida pela nova classe
GMSAutocompleteSuggestion
. Essa classe contém uma matriz de instâncias do novo tipoGMSAutocompletePlaceSuggestion
que representa as sugestões.A sessão agora é encerrada com uma chamada para Place Details (New) ou Address Validation. Para mais informações, consulte Preenchimento automático (novo) e preços de sessão.
Exemplo de solicitação
Com o Place Autocomplete (novo), você faz uma solicitação e
transmite todos os parâmetros na instância 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.
}
}
}];