O SDK do Places para iOS é compatível com o Place Autocomplete (legado). Se você já conhece o Place Autocomplete (legado), o Place Autocomplete (novo) faz as seguintes mudanças:
Usa um novo modelo de preços. Para informações sobre 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 a consulta e o token de sessão.Um callback do tipo
GMSAutocompleteSuggestionsCallback
para processar a resposta.
Com a classe
GMSAutocompleteFilter
agora é possível:- Define o código da região usado para determinar a formatação dos resultados.
- Defina o deslocamento da 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 termina com uma chamada para Place Details (New) ou Address Validation. Para mais informações, consulte Preços de sessões e do recurso Autocompletar (novo).
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.
}
}
}];