Ejemplos

En esta sección, se incluye una serie de solicitudes de ejemplo a la API de Places Insights.

Cómo mostrar lugares dentro de un círculo

Muestra todos los restaurantes dentro de un radio de 200 m de Trafalgar Square, Londres.

  • El área de búsqueda es un círculo centrado en una latitud y longitud específicas. El radio de este círculo es de 200 metros, lo que determina el tamaño del área de búsqueda.
  • El tipo de lugar solicitado es restaurante, y se pasa con includedTypes dentro de typeFilters.
  • El recuento se solicita con INSIGHTS_COUNT, y los IDs de lugares se solicitan con INSIGHTS_PLACES.
curl --location 'https://areainsights.googleapis.com/v1:computeInsights' \
--header 'X-Goog-Api-Key: API_KEY' \
--header 'Content-Type: application/json' \
--data '{
  "insights": ["INSIGHT_COUNT", "INSIGHT_PLACES"],
  "filter": {
    "locationFilter": {
      "circle": {
        "latLng": { "latitude": 51.508, "longitude": -0.128},
        "radius": 200
      }
    },
    "typeFilter": { "includedTypes": "restaurant" }
  }
}'

Cómo excluir tipos de lugares

Puedes excluir tipos de lugares del recuento.

La siguiente solicitud es igual que la del primer ejemplo, pero agrega excludedTypes a typeFilters. Puedes usar una cadena o un array de cadenas para includedTypes y excludedTypes.

En este ejemplo, se excluyen dos tipos de lugares: cafe y bakery, del recuento de restaurant.

curl --location 'https://areainsights.googleapis.com/v1:computeInsights' \
--header 'X-Goog-Api-Key: API_KEY' \
--header 'Content-Type: application/json' \
--data '{
    "insights": ["INSIGHT_COUNT", "INSIGHT_PLACES"],
    "filter": {
        "locationFilter": {
            "circle": {
                "latLng": { "latitude": 51.508, "longitude": -0.128},
                "radius": 200
            }
        },
        "typeFilter": {
            "includedTypes": "restaurant",
            "excludedTypes": [
                "cafe",
                "bakery"
            ]
        }
    }
}'

Usa el tipo principal

En este ejemplo, se modifica la solicitud del primer ejemplo para incluir solo los lugares que tienen un primaryType de restaurant en el recuento.

curl --location 'https://areainsights.googleapis.com/v1:computeInsights' \
--header 'X-Goog-Api-Key: API_KEY' \
--header 'Content-Type: application/json' \
--data '{
  "insights": ["INSIGHT_COUNT", "INSIGHT_PLACES"],
  "filter": {
    "locationFilter": {
      "circle": {
        "latLng": { "latitude": 51.508, "longitude": -0.128},
        "radius": 200
      }
    },
    "typeFilter": { "includedPrimaryTypes": "restaurant" }
  }
}'

Polígono personalizado

En este ejemplo, se muestra cómo usar un polígono personalizado para definir tu área de búsqueda. Ten en cuenta que especificar INSIGHTS_PLACES restringe la búsqueda a áreas lo suficientemente pequeñas como para mostrar hasta 100 IDs de lugares. Para áreas más grandes, usa INSIGHTS_COUNT para omitir esta limitación, de modo que el servicio no tenga que mostrar los IDs de lugares individuales.

Al igual que antes, el tipo de lugar que se usa es restaurant. En este ejemplo, también se presentan otros tres filtros:

  • operatingStatus: En este ejemplo, solo se cuentan los lugares en funcionamiento.
  • priceLevel: En este ejemplo, solo se cuentan los lugares con precios moderados y económicos.
  • ratingFilter: En este ejemplo, solo se cuentan los lugares con una puntuación de opiniones entre 4.0 y 5.0.
curl --location 'https://areainsights.googleapis.com/v1:computeInsights' \
--header 'X-Goog-Api-Key: API_KEY' \
--header 'Content-Type: application/json' \
--data '{
    "insights": [ "INSIGHT_COUNT" ],
    "filter": {
        "locationFilter": {
            "customArea": {
                "polygon": {
                    "coordinates": [
                        { "latitude": 37.776, "longitude": -122.666 },
                        { "latitude": 37.130, "longitude": -121.898 },
                        { "latitude": 37.326, "longitude": -121.598 },
                        { "latitude": 37.912, "longitude": -122.247 },
                        { "latitude": 37.776, "longitude": -122.666 }
                    ]
                }
            }
        },
        "typeFilter": {
            "includedTypes": "restaurant"
        },
        "operatingStatus": [ "OPERATING_STATUS_OPERATIONAL" ],
        "priceLevels": [ "PRICE_LEVEL_INEXPENSIVE", "PRICE_LEVEL_MODERATE" ],
        "ratingFilter": { "minRating": 4.0, "maxRating": 5.0 }
    }
}'

Área geográfica

En este ejemplo, se usa un ID de lugar de área geográfica para establecer el área de búsqueda. Estos IDs de lugar incluyen la geometría de un lugar, como un pueblo o una ciudad. El ID de lugar que se usa aquí es ChIJiQHsW0m3j4ARm69rRkrUF3w, que corresponde a la ciudad de Mountain View, California.

Pasar el ID de lugar a la API de Places Insights establece el área de búsqueda en los límites de la área geográfica. El ID de lugar se pasa con place, en el formato places/place_ID.

Puedes obtener un ID de lugar de área geográfica de cualquiera de las siguientes maneras:

curl --location 'https://areainsights.googleapis.com/v1:computeInsights' \
--header 'X-Goog-Api-Key: API_KEY' \
--header 'Content-Type: application/json' \
--data '{
    "insights": [
        "INSIGHT_COUNT"
    ],
    "filter": {
        "locationFilter": {
            "region": {
                "place": "places/ChIJiQHsW0m3j4ARm69rRkrUF3w"
            }
        },
        "typeFilter": {
            "includedTypes": [
                "restaurant"
            ]
        }
    }
}'