라우팅 요약 계산

텍스트 검색 (신규) 또는 주변 지역 검색 (신규)을 사용하여 응답에서 각 장소까지의 이동 시간과 거리를 계산하려면 다음 단계를 따르세요.

  1. 요청에 routingParameters.origin 매개변수를 전달하여 라우팅 출발점의 위도 및 경도 좌표를 지정합니다. 이 매개변수는 응답에서 각 장소까지의 시간과 거리를 계산하는 데 필요합니다.

  2. 응답에 routingSummaries 배열이 포함되도록 필드 마스크에 routingSummaries를 포함합니다. 이 배열에는 응답의 경로 출발지에서 각 장소까지의 소요 시간과 거리가 포함됩니다.

API 탐색기를 사용하면 API 및 API 옵션을 익히기 위해 실시간으로 요청할 수 있습니다.

텍스트 검색 (신규) 사용하기

다음 요청에서는 텍스트 검색 (신규) 응답에서 각 장소까지의 이동 시간과 거리를 계산합니다.

curl -X POST -d '{
  "textQuery" : "Spicy Vegetarian Food in Sydney, Australia",
  "routingParameters": {
    "origin": {
      "latitude": -33.8688,
      "longitude": 151.1957362
    }
  }
}' \
-H 'Content-Type: application/json' -H 'X-Goog-Api-Key: API_KEY' \
-H 'X-Goog-FieldMask: places.displayName,places.formattedAddress,places.priceLevel,routingSummaries' \
'https://places.googleapis.com/v1/places:searchText'

응답에는 두 개의 JSON 배열이 포함됩니다. places 배열에는 일치하는 장소가 포함되고 routingSummaries 배열에는 각 장소까지의 이동 시간과 거리가 포함됩니다.

{
  "places": [
    {
      object (Place)
    }
  ]
  "routingSummaries": [
    {
      object (RoutingSummary)
    }
}

routingSummaries 배열의 각 요소는 places 배열의 위치와 상응하는 배열 위치에 있습니다. 즉, routingSummaries[0]의 요소는 places[0]의 장소에 해당합니다.

routingSummaries의 배열 길이는 places의 배열 길이와 같습니다. 장소의 routingSummary를 사용할 수 없는 경우 배열 항목은 비어 있습니다.

이 예에서는 라우팅 출발지에서 각 장소까지의 소요 시간과 거리를 계산하므로 응답의 routingSummaries.legs 필드에는 라우팅 출발지에서 장소까지의 durationdistanceMeters가 포함된 단일 Leg 객체가 포함됩니다.

{
  "places": [
    {
      "formattedAddress": "1, Westfield Sydney Central Plaza, 450 George St, Sydney NSW 2000, Australia",
      "displayName": {
        "text": "Gözleme King Sydney",
        "languageCode": "en"
      }
    },
    {
      "formattedAddress": "367 Pitt St, Sydney NSW 2000, Australia",
      "priceLevel": "PRICE_LEVEL_MODERATE",
      "displayName": {
        "text": "Mother Chu's Vegetarian Kitchen",
        "languageCode": "en"
      }
    },
    
  ]
  "routingSummaries": [
    {
      "legs": [
        {
          "duration": "597s",
          "distanceMeters": 2607
        }
      ],
      "directionsUri": "https://www.google.com/maps/dir/-33.8688,151.1957362/''/data=!4m6!4m5!1m0!1m2!1m1!1s0x6b12ae3fa97cd745:0x6aecf365bf497c08!3e0"
    },
    {
      "legs": [
        {
          "duration": "562s",
          "distanceMeters": 2345
        }
      ],
      "directionsUri": "https://www.google.com/maps/dir/-33.8688,151.1957362/''/data=!4m6!4m5!1m0!1m2!1m1!1s0x6b12ae3da97f60c1:0x845f3273bd764f6c!3e0"
    },
   
  ]
}

이 예에서 라우팅 출발지에서 결과의 첫 번째 장소까지의 경과 시간과 거리는 597초 및 2, 607미터임을 알 수 있습니다.

이 예에서는 Nearby Search 응답에서 각 장소까지의 이동 시간과 거리를 계산합니다. 이 예에서는 오스트레일리아 시드니의 레스토랑을 검색하고 위치 제한 및 경로 출발지를 동일한 위도 및 경도 좌표로 설정합니다.

  curl -X POST -d '{
    "includedTypes": ["restaurant"],
    "maxResultCount": 10,
    "locationRestriction": {
      "circle": {
        "center": {
          "latitude": -33.8688,
          "longitude": 151.1957362},
        "radius": 500.0
      }
    },
    "routingParameters": {
      "origin": {
        "latitude": -33.8688,
        "longitude": 151.1957362
      }
    }
  }' \
  -H 'Content-Type: application/json' -H "X-Goog-Api-Key:API_KEY" \
  -H "X-Goog-FieldMask: places.displayName,routingSummaries" \
  https://places.googleapis.com/v1/places:searchNearby

locationRestriction와 라우팅 출발점에 동일한 좌표를 사용할 필요는 없습니다. 예를 들어 locationRestriction를 시드니의 중심점으로 설정하여 검색 결과를 해당 원으로 편향시킵니다. 하지만 다음으로 경로 출발점을 집의 좌표로 설정합니다. 즉, 검색 원의 다른 위치로 설정합니다. 그러면 요청이 검색 결과를 원 안에 편향시키고 집의 위치를 기반으로 경로 요약을 계산합니다.

이동 옵션 지정

기본적으로 시간 및 거리 계산은 자동차를 기준으로 합니다. 하지만 검색에서 차량 유형과 기타 옵션을 관리할 수 있습니다.

  • routingParameters.travelMode 매개변수를 사용하여 전송 모드를 DRIVE, BICYCLE, WALK 또는 TWO_WHEELER로 설정합니다. 이러한 옵션에 관한 자세한 내용은 경로에 사용할 수 있는 차량 유형을 참고하세요.

  • routingParameters.routingPreference 속성을 사용하여 라우팅 환경설정 옵션을 TRAFFIC_UNAWARE (기본값), TRAFFIC_AWARE 또는 TRAFFIC_AWARE_OPTIMAL로 설정합니다. 각 옵션의 데이터 품질과 지연 시간 수준은 다릅니다. 자세한 내용은 트래픽 데이터를 포함하는 방법 및 여부 지정을 참고하세요.

    routingParameters.routingPreference 속성은 미리보기 (GA 이전) directionsUri 필드에 포함된 경로에 영향을 미칩니다. Google 지도에서 링크를 열면 교통 옵션이 표시되기 때문입니다.

  • routingParameters.routeModifiers 속성을 사용하여 avoidTolls, avoidHighways, avoidFerries, avoidIndoor에 지정합니다. 이러한 옵션에 관한 자세한 내용은 경로 피할 지형지물 지정을 참고하세요.

다음 예에서는 이동 모드를 DRIVE로 지정하고 고속도로를 피하도록 지정합니다.

curl -X POST -d '{
  "textQuery" : "Spicy Vegetarian Food in Sydney, Australia",
  "routingParameters": {
    "origin": {
      "latitude": -33.8688,
      "longitude": 151.1957362
    },
    "travelMode":"DRIVE",
    "routeModifiers": {
      "avoidHighways": true
    }
  }
}' \
-H 'Content-Type: application/json' -H 'X-Goog-Api-Key: API_KEY' \
-H 'X-Goog-FieldMask: places.displayName,places.formattedAddress,places.priceLevel,routingSummaries' \
'https://places.googleapis.com/v1/places:searchText'

사용해 보기

API 탐색기를 사용하면 샘플 요청을 실행하여 API 및 API 옵션을 익힐 수 있습니다.

  1. 페이지 오른쪽에 있는 API 아이콘 api를 선택합니다.

  2. 원하는 경우 요청 매개변수를 수정합니다.

  3. 실행 버튼을 선택합니다. 대화상자에서 요청하는 데 사용할 계정을 선택합니다.

  4. API 탐색기 패널에서 전체 화면 아이콘 fullscreen을 선택하여 API 탐색기 창을 펼칩니다.