Cómo migrar a Nearby Search (nuevo)

Desarrolladores del Espacio Económico Europeo (EEE)

Introducción

La API de Places admite la búsqueda de lugares cercanos (heredada). Si ya conoces Nearby Search (heredado), la versión Nearby Search (nuevo) incluye los siguientes cambios:

  • La función Nearby Search (nuevo) 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 Nearby Search (heredado), pasas parámetros de URL con una solicitud GET de HTTP.
  • Se requiere el enmascaramiento de campo. Debes especificar qué campos quieres que se muestren en la respuesta. No hay una lista predeterminada de campos que se devuelven. Si omites esta lista, los métodos devuelven un error. Para obtener más información, consulta FieldMask.
  • Nearby 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 Nearby Search (nuevo).
  • Todas las solicitudes que incluyan una búsqueda de texto ahora deben usar Text Search (nuevo), ya que Nearby Search (nuevo) no admite la entrada de texto.
  • El formato de respuesta JSON de Nearby Search (nuevo) cambió con respecto al 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 Nearby Search (heredada) que se cambiaron de nombre o se modificaron para Nearby Search (nueva), o bien los parámetros que ya no se admiten.

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

Ejemplo de solicitud

En el siguiente ejemplo de solicitud GET, se usa la función Nearby Search (heredada). En este ejemplo, solicitas una respuesta JSON que contenga información sobre lugares del 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 (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 '{
  "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