중간 경유지 설정

유럽 경제 지역 (EEA) 개발자

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

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

요청의 각 중간 경유지에 대해 응답의 Route 객체 (REST) 또는 Route 객체 (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": [
                {
                  ...