중간 경유지 설정

중간 경유지란 경로가 통과하도록 지정하는 출발지와 목적지 사이의 위치입니다. 중간 경유지는 정차 지점이 될 수 있으며 통과할 위치로 지정할 수도 있습니다. 정류장의 경로의 예는 경로에 정류장 설정을 참고하세요. 통과할 중간 지점의 예는 통과할 경로의 지점 설정을 참고하세요.

computeRoutes 메서드 (REST) 또는 ComputeRoutes 메서드 (gRPC)의 intermediates 배열 속성을 사용하여 최대 25개의 중간 웨이포인트를 정의합니다.

요청의 각 중간 경유지의 경우 응답의 경로 객체 (REST) 또는 경로 객체 (gRPC)는 legs 배열에 항목을 추가하여 해당 구간의 세부정보를 제공합니다.

경로의 각 구간은 RouteLeg (REST) 또는 RouteLeg (gRPC) 객체로 표현됩니다. 응답 필드 마스크를 사용하여 반환할 RouteLeg 필드를 제어합니다.

예 - 중간 웨이포인트 설정

다음 예에서는 intermediates 배열 속성을 사용하여 경로의 POST 요청 본문에 단일 중간 경로를 추가합니다.

이 예에서는 X-Goog-FieldMask 헤더에 응답 필드 마스크를 사용하여 응답에 다음 필드를 반환하도록 지정합니다.

  • routes.duration
  • routes.distanceMeters
  • 전체 RouteLeg 객체에 해당하는 routes.legs
curl -X POST -d '{
  "origin":{
    "location":{
      "latLng":{
        "latitude": 37.419734,
        "longitude": -122.0827784
      }
    },
    "sideOfRoad": true
  },
  "destination":{
    "location":{
      "latLng":{
        "latitude": 37.417670,
        "longitude": -122.079595
      }
    }
  },
  "intermediates": [
    {
      "location":{
        "latLng":{
          "latitude": 37.419734,
          "longitude": -122.0807784
        }
      }
    }
  ],
  "travelMode": "DRIVE",
  "routingPreference": "TRAFFIC_AWARE",
  "departureTime": "2022-10-15T15:01:23.045123456Z",
  "computeAlternativeRoutes": false,
  "routeModifiers": {
    "avoidTolls": false,
    "avoidHighways": false,
    "avoidFerries": false
  },
  "languageCode": "en-US",
  "units": "IMPERIAL"
}'
-H 'Content-Type: application/json' -H 'X-Goog-Api-Key: YOUR_API_KEY'
-H 'X-Goog-FieldMask: routes.duration,routes.distanceMeters,routes.legs'
'https://routes.googleapis.com/directions/v2:computeRoutes'

이 호출의 응답에는 legs 배열이 포함됩니다. 구간의 각 단계는 RouteLegStep (REST) 또는 RouteLegStep (gRPC) 객체로 표시됩니다.

{
  "routes": [
    {
      "legs": [
        # First leg
        {
            "distanceMeters": 207,
            "duration": "89s",
            "staticDuration": "89s",
            "polyline": {
                "encodedPolyline": "ipkcFjgchVd@@@cF]@@oCK?"
            },
            "startLocation": {
                "latLng": {
                    "latitude": 37.4197318,
                    "longitude": -122.0826233
                }
            },
            "endLocation": {
                "latLng": {
                    "latitude": 37.419734,
                    "longitude": -122.08077919999998
                }
            },
            "steps": [            {
              "distanceMeters": 21,
              "staticDuration": "6s",
              "polyline": {
                "encodedPolyline": "ipkcFjgchVd@@"
              },
              "startLocation": {
                "latLng": {
                  "latitude": 37.4197318,
                  "longitude": -122.0826233
                }
              },
              "endLocation": {
                "latLng": {
                  "latitude": 37.41954,
                  "longitude": -122.08262750000002
                }
              }
            },
            ...
        },
        # Second leg
        {
            "distanceMeters": 598,
            "duration": "159s",
            "staticDuration": "159s",
            "polyline": {
                "encodedPolyline": "ipkcFz{bhVh@??{@xPBP?J}E{E?"
            },
            "startLocation": {
                "latLng": {
                    "latitude": 37.419734,
                    "longitude": -122.08077919999998
                }
            },
            "endLocation": {
                "latLng": {
                    "latitude": 37.417616599999995,
                    "longitude": -122.07938820000001
                }
            },
            "steps": [
                {
                  ...