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
danstypeFilters
. - Le nombre est demandé à l'aide de
INSIGHTS_COUNT
, et les ID de lieu sont demandés à l'aide deINSIGHTS_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:
- API Geocoding
- Recherche textuelle (nouveau)
- Nearby Search (Nouveau)
- API Address Validation
- Place Autocomplete
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" ] } } }'