Introducción
La API de Places admite Nearby Search (heredado). Si conoces Nearby Search (Legacy), Nearby Search (nuevo) realiza los siguientes cambios:
- 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 (legado), 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 nueva función de Nearby Search 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 cercana (nueva).
- Todas las solicitudes que incluyen 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ó 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 Nearby Search (Legacy) que se cambiaron o modificaron para Nearby Search (nuevo), 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 (nueva). | |
language |
languageCode |
|
location |
locationRestriction |
Obligatorio. |
maxprice/minprice |
|
No compatible. |
maxResultCount |
Es un parámetro nuevo. | |
opennow |
|
No compatible. |
pagetoken |
No compatible. | |
radius |
|
Usar 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. |
Ejemplo de solicitud
En el siguiente ejemplo de solicitud GET, se usa la Búsqueda cercana (legado). En este ejemplo, solicitas una respuesta JSON que contiene 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