Cómo migrar a Nearby Search (nuevo)

La API de Places admite la Búsqueda cercana existente. Si conoces la Búsqueda cercana existente, la nueva versión de Nearby Search realiza los siguientes cambios:

  • La nueva Búsqueda Cercana 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 cercana 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 cercana admite claves de API y tokens de OAuth como mecanismo de autenticación.
  • Solo se admite JSON como formato de respuesta en la nueva búsqueda cercana.
  • Todas las solicitudes que incluyan una búsqueda de texto ahora deben usar Text Search (nuevo), ya que Nearby Search (nuevo) no admite entradas de texto.
  • El formato de respuesta JSON de la API de Nearby 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 la Búsqueda cercana existente que cambiaron de nombre o se modificaron para la nueva Búsqueda cercana, o bien los parámetros que ya no son compatibles.

Parámetro actual Parámetro nuevo Notas
keyword No compatible. En su lugar, usa Text Search (nueva).
language languageCode
location locationRestriction Obligatorio.
maxprice/minprice No compatible.
maxResultCount Parámetro nuevo.
opennow No compatible.
pagetoken No compatible.
radius Usa locationRestriction ahora.
rankby rankPreference
regionCode Parámetro nuevo.
type includedTypes
excludedTypes
includedPrimaryTypes
excludedPrimaryTypes
Los parámetros nuevos también aceptan varios valores de tipo. La API existente solo acepta un valor.

Ejemplo de solicitud

En la siguiente solicitud GET de ejemplo, se usa la Búsqueda cercana existente. En este ejemplo, solicitas una respuesta JSON que contenga información sobre lugares de tipo restaurant y pasas todos los parámetros como parámetros de URL:

curl -L -X GET \
'https://maps.googleapis.com/maps/api/place/nearbysearch/json?location=37.7937%2C-122.3965&radius=500&type=restaurant&key=API_KEY'

Con Nearby 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 '{
  "includedTypes": ["restaurant"],
  "locationRestriction": {
    "circle": {
      "center": {
        "latitude": 37.7937,
        "longitude": -122.3965},
      "radius": 500.0
    }
  }
}' \
-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:searchNearby