Introducción
La API de Places (heredada) admite Text Search (heredado). Si conoces la versión heredada de Text Search, Text Search (nueva) incluye los siguientes cambios:
- La Búsqueda de texto (nueva) 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 Text Search (heredado), pasas parámetros de URL con una solicitud GET.
- Se requiere el enmascaramiento de campos. Debes especificar qué campos deseas que se devuelvan en la respuesta. No hay una lista predeterminada de campos devueltos. Si omites esta lista, los métodos devolverán un error. Para obtener más información, consulta FieldMask.
- Text Search (nuevo) admite tanto claves de API como tokens de OAuth como mecanismo de autenticación.
- Solo se admite JSON como formato de respuesta en la Búsqueda de texto (nuevo).
La Búsqueda de texto (legado) te permite especificar las 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 Búsqueda de texto (nueva).Usa la geocodificación inversa para buscar por coordenadas y mostrar una dirección, o bien la Búsqueda cercana (nueva) para encontrar lugares alrededor de una ubicación determinada.
- El formato de respuesta JSON para Text Search (nuevo) cambió con respecto al formato de las APIs heredadas. Para obtener más detalles, consulta Migra la respuesta de la API de Places.
En la siguiente tabla, se enumeran los parámetros de Text Search (Legacy) que se cambiaron o modificaron para Text Search (nuevo), o bien los parámetros que ya no son compatibles.
| Parámetro actual | Parámetro nuevo | Notas |
|---|---|---|
evOptions |
Es un parámetro nuevo. | |
language |
languageCode |
|
location |
locationBias |
|
maxprice/minprice |
priceLevels |
|
opennow |
openNow |
|
pagetoken |
pageToken |
|
query |
textQuery |
Se requiere en todas las solicitudes. |
radius |
locationBias |
Especifica el radio cuando definas un locationBias. |
region |
regionCode |
|
type |
includedType |
Solo toma un valor. |
strictTypeFiltering |
Es un parámetro nuevo. |
Ejemplo de solicitud
En el siguiente ejemplo de solicitud GET, se usa la Búsqueda de texto (heredada). En este ejemplo, solicitas una respuesta JSON que contiene información sobre "Comida vegetariana picante en Sídney, 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 comercial 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'