Exemples

Cette section présente une série d'exemples de requêtes à l'API Places Insights.

Afficher les lieux situés dans un cercle

Afficher tous les restaurants situés dans un rayon de 200 m de Trafalgar Square, à Londres.

  • La zone de recherche est un cercle centré sur une latitude et une longitude spécifiques. Le rayon de ce cercle est de 200 mètres, ce qui détermine la taille de la zone de recherche.
  • Le type d'établissement demandé est un restaurant, et il est transmis à l'aide de includedTypes dans typeFilters.
  • Le nombre est demandé à l'aide de INSIGHTS_COUNT, et les ID de lieu sont demandés à l'aide de 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" }
  }
}'

Exclure des types de lieux

Vous pouvez exclure des types de lieux du calcul.

La requête suivante est identique au premier exemple, mais ajoute excludedTypes à typeFilters. Vous pouvez utiliser une chaîne ou un tableau de chaînes pour includedTypes et excludedTypes.

Cet exemple exclut deux types de lieux: cafe et bakery, du nombre 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"
            ]
        }
    }
}'

Utiliser le type principal

Cet exemple modifie la requête du premier exemple pour n'inclure que les lieux dont le primaryType est restaurant dans le décompte.

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" }
  }
}'

Polygone personnalisé

Cet exemple montre comment utiliser un polygone personnalisé pour définir votre zone de recherche. N'oubliez pas que spécifier INSIGHTS_PLACES limite la recherche à des zones suffisamment petites pour renvoyer jusqu'à 100 ID de lieu. Pour les zones plus grandes, utilisez INSIGHTS_COUNT pour contourner cette limitation afin que le service n'ait pas besoin de renvoyer des ID de lieu individuels.

Comme précédemment, le type de lieu utilisé est restaurant. Cet exemple présente également trois autres filtres:

  • operatingStatus: cet exemple ne compte que les lieux opérationnels.
  • priceLevel: cet exemple ne compte que les établissements abordables et à prix modéré.
  • ratingFilter: cet exemple ne compte que les lieux dont la note est comprise entre 4,0 et 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 }
    }
}'

Zone géographique

Cet exemple utilise un ID de lieu Zone géographique pour définir la zone de recherche. Ces ID de lieu incluent la géométrie d'un lieu, comme une ville. L'ID de lieu utilisé ici est ChIJiQHsW0m3j4ARm69rRkrUF3w, qui correspond à la ville de Mountain View (Californie).

Transmettre l'ID de lieu à l'API Places Insights définit la zone de recherche sur les limites de la zone géographique. L'ID de lieu est transmis à l'aide de place, au format places/place_ID.

Vous pouvez obtenir un ID de lieu pour une zone géographique de l'une des manières suivantes:

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"
            ]
        }
    }
}'