Cómo migrar a Text Search (nuevo)

La API de Places admite la Text Search existente. Si estás familiarizado con Text Search existente, la versión nueva 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. Por el contrario, con la Text Search existente, debes pasar los parámetros de URL mediante una solicitud HTTP GET.
  • El enmascaramiento de campo es obligatorio. Debes especificar qué campos quieres que se muestren en la respuesta. No existe una lista predeterminada de los 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 Text Search admite claves de API y tokens OAuth como mecanismo de autenticación.
  • Solo se admite JSON como formato de respuesta en la nueva Búsqueda de texto.
  • Text Search 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 coordenadas y mostrar una dirección, o bien la búsqueda de Nearby (nueva) para encontrar lugares alrededor de una ubicación determinada.

  • El formato de respuesta JSON de la API de Text Search (nuevo) cambió del formato de las APIs existentes. Si deseas 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 existente a los que se les cambió el nombre o los que se modificaron para la nueva función, o bien los parámetros que ya no se admiten.

Parámetro actual Parámetro nuevo Notas
evOptions Parámetro nuevo.
language languageCode
location locationBias
maxprice/minprice priceLevels
opennow openNow
pagetoken No compatible.
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 Text Search existente. 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 (nuevo), 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'