Introducción
La API de Places (heredada) admite Text Search (heredado). Si conoces la función Text Search (heredada), 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 (Legacy), pasas 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 devueltos. Si omites esta lista, los métodos mostrarán un error. Para obtener más información, consulta FieldMask.
- La Búsqueda de texto (nueva) 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 (heredada) 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 coordenadas y mostrar una dirección, o la búsqueda cercana (nueva) para encontrar lugares cerca de una ubicación determinada.
- El formato de respuesta JSON para la Búsqueda de texto (nuevo) cambió respecto del 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 la Búsqueda de texto (heredada) que se cambiaron de nombre o se modificaron para la Búsqueda de texto (nueva), o bien los parámetros que ya no se admiten.
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 (legado). En este ejemplo, solicitas una respuesta JSON que contenga 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 la Búsqueda de texto (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'