중간 경유지 설정

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

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

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

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

예 - 중간 경유지 설정

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

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

  • routes.duration
  • routes.distanceMeters
  • routes.legs: 전체 RouteLeg 객체에 해당합니다.
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": [
                {
                  ...