이 섹션에서는 Places Insights API에 대한 일련의 요청 예시를 설명합니다.

원 내의 장소 반환

런던 트라팔가 광장에서 반경 200m 이내에 있는 모든 식당을 반환합니다.

  • 검색 지역은 특정 위도와 경도를 중심으로 한 원입니다. 이 원의 반지름은 200미터이며, 이 값에 따라 검색 지역의 크기가 결정됩니다.
  • 요청된 장소 유형은 레스토랑이며 이는 typeFilters 내에서 includedTypes를 사용하여 전달됩니다.
  • 수는 INSIGHTS_COUNT를 사용하여 요청되고 장소 IDINSIGHTS_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" }
  }
}'

장소 유형 제외

집계에서 장소 유형을 제외할 수 있습니다.

다음 요청은 첫 번째 예와 동일하지만 typeFiltersexcludedTypes를 추가합니다. includedTypesexcludedTypes에는 문자열 또는 문자열 배열을 사용할 수 있습니다.

이 예에서는 restaurant 개수에서 cafebakery라는 두 장소 유형을 제외합니다.

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

기본 유형 사용

이 예에서는 첫 번째 예의 요청을 수정하여 primaryTyperestaurant인 장소만 집계에 포함되도록 합니다.

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

맞춤 다각형

이 예에서는 맞춤 다각형을 사용하여 검색 영역을 정의하는 방법을 보여줍니다. INSIGHTS_PLACES를 지정하면 최대 100개의 장소 ID를 반환할 만큼 작은 지역으로 검색이 제한됩니다. 더 넓은 지역의 경우 INSIGHTS_COUNT를 사용하여 이 제한을 우회하면 서비스에서 개별 장소 ID를 반환하지 않아도 됩니다.

이전과 마찬가지로 사용되는 장소 유형은 restaurant입니다. 이 예에서는 다른 세 가지 필터도 소개합니다.

  • operatingStatus: 이 예에서는 운영 중인 장소만 집계합니다.
  • priceLevel: 이 예에서는 저렴한 장소와 적당한 가격의 장소만 집계합니다.
  • ratingFilter: 이 예에서는 리뷰 점수가 4.0~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 }
    }
}'

지리적 지역

이 예에서는 지리적 영역 장소 ID를 사용하여 검색 영역을 설정합니다. 이러한 장소 ID에는 마을이나 도시와 같은 장소의 도형이 포함됩니다. 여기서 사용되는 장소 ID는 ChIJiQHsW0m3j4ARm69rRkrUF3w이며 캘리포니아주 마운틴뷰에 해당합니다.

장소 ID를 Places Insights API에 전달하면 검색 영역이 지리적 지역의 경계로 설정됩니다. 장소 ID는 place를 사용하여 places/place_ID 형식으로 전달됩니다.

다음 방법 중 하나로 지리적 지역 장소 ID를 가져올 수 있습니다.

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