La API de Places admite la Búsqueda de texto existente. Si conoces la Text Search existente, la nueva versión de Text Search realiza los siguientes cambios:
- La nueva Búsqueda de texto usa solicitudes HTTP POST. Pasa parámetros en el cuerpo de la solicitud o en los encabezados como parte de una solicitud HTTP POST. En cambio, con la Búsqueda de texto existente, pasas los parámetros de URL con una solicitud HTTP GET.
- Se requiere el enmascaramiento de campos. Debes especificar qué campos deseas que se muestren en la respuesta. No hay una lista predeterminada de campos que se muestran. Si omites esta lista, los métodos mostrarán un error. Para obtener más información, consulta FieldMask.
- La nueva Búsqueda de texto admite claves de API y tokens de OAuth como mecanismo de autenticación.
- Solo se admite JSON como formato de respuesta en la nueva Text Search.
La Búsqueda de texto existente te permite especificar coordenadas de latitud y longitud en la cadena de consulta. Por ejemplo:
query=37.4239,-122.0925
. Esa opción no es compatible con la nueva Búsqueda de texto.Usa la geocodificación inversa para buscar en coordenadas y mostrar una dirección, o bien Nearby Search (nueva) para encontrar lugares cerca de una ubicación determinada.
- El formato de respuesta JSON de la API de Text Search (nueva) cambió del formato de las APIs existentes. Para obtener más detalles, consulta Cómo migrar la respuesta de la API de Places.
En la siguiente tabla, se enumeran los parámetros de Text Search existentes que cambiaron de nombre o se modificaron para la nueva Text Search, o bien los parámetros que ya no son compatibles.
Parámetro actual | Parámetro nuevo | Notas |
---|---|---|
evOptions |
Parámetro nuevo. | |
language |
languageCode |
|
location |
locationBias |
|
maxprice/minprice |
priceLevels |
|
opennow |
openNow |
|
pagetoken |
pageToken |
|
query |
textQuery |
Obligatorio en todas las solicitudes. |
radius |
locationBias |
Especifica el radio cuando definas un locationBias . |
region |
regionCode |
|
type |
includedType |
Solo toma un valor. |
strictTypeFiltering |
Parámetro nuevo. |
Ejemplo de solicitud
En la siguiente solicitud GET de ejemplo, se usa la búsqueda de texto existente. En este ejemplo, solicitas una respuesta JSON que contenga información sobre "Comida vegetariana picante en Sydney, Australia" y pasas todos los parámetros como parámetros de URL:
curl -L -X GET \ 'https://maps.googleapis.com/maps/api/place/textsearch/json?query=Spicy%20Vegetarian%20Food%20in%20Sydney%20Australia&key=API_KEY
Con Text Search (nueva), realizas una solicitud POST y pasas todos los parámetros en el cuerpo de la solicitud JSON o en los encabezados como parte de la solicitud POST. En este ejemplo, también se usa una máscara de campo para que la respuesta solo incluya el nombre visible y la dirección con formato del lugar:
curl -X POST -d '{ "textQuery" : "Spicy Vegetarian Food in Sydney, Australia" }' \ -H 'Content-Type: application/json' -H 'X-Goog-Api-Key: API_KEY' \ -H 'X-Goog-FieldMask: places.displayName,places.formattedAddress' \ 'https://places.googleapis.com/v1/places:searchText'