El SDK de Places para iOS admite Place Autocomplete (legacy). Si conoces Place Autocomplete (Legacy), Place Autocomplete (nuevo) incluye los siguientes cambios:
Utiliza un nuevo modelo de precios. Para obtener información sobre los precios de todas las APIs, consulta Precios del SDK de Places para iOS (nuevo).
Para realizar una solicitud, llama al nuevo método
GMSPlacesClient fetchAutocompleteSuggestionsFromRequest:
.Pasa lo siguiente a la solicitud:
Es una instancia de la nueva clase
GMSAutocompleteRequest
que define todos los parámetros de la solicitud, como la búsqueda y el token de sesión.Es una devolución de llamada del tipo
GMSAutocompleteSuggestionsCallback
para controlar la respuesta.
La clase
GMSAutocompleteFilter
ahora te permite hacer lo siguiente:- Es el código de región que se usa para determinar el formato de los resultados.
- Establece el desplazamiento de la predicción, un desplazamiento de caracteres Unicode basado en cero de la búsqueda.
La respuesta se define con la nueva clase
GMSAutocompleteSuggestion
. Esta clase contiene un array de instancias del nuevo tipoGMSAutocompletePlaceSuggestion
que representan las sugerencias.Ahora, la sesión concluye con una llamada a Place Details (nuevo) o a Address Validation. Para obtener más información, consulta Precios de Autocomplete (nuevo) y de las sesiones.
Ejemplo de solicitud
Con Place Autocomplete (nuevo), realizas una solicitud y pasas todos los parámetros en la instancia 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.
}
}
}];