대체 경로 가져오기

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

기본적으로 Routes API는 출발지에서 목적지까지 가장 빠른 경로인 기본 경로를 반환합니다. 대체 경로를 요청하면 API는 기본 경로와 함께 최대 3개의 경로를 반환합니다. 그러면 고객이 요구사항에 가장 적합한 경로를 선택할 수 있습니다.

대체 경로 요청 시 고려사항

대체 경로를 요청할 때는 다음 사항을 고려하세요.

  • 중간 경유지가 없는 경로에만 대체 경로를 요청할 수 있습니다. 경로에 중간 경유지가 지정된 경우 대체 경로를 요청해도 오류가 발생하지 않습니다. 하지만 대체 경로가 반환되지 않습니다.

  • 응답에는 최대 3개의 대체 경로가 포함됩니다. 하지만 대체 경로가 없는 경우도 있으므로 응답에 기본 경로만 포함됩니다.

  • 대체 경로를 계산하는 데 추가 처리가 필요하므로 대체 경로를 요청하면 API의 응답 시간이 늘어날 수 있습니다.

대체 경로 요청 예

대체 경로를 요청하려면 computeAlternativeRoutestrue로 설정합니다. 다음 예에서는 computeRoutes 메서드 (REST) 요청에서 대체 경로를 요청하는 방법을 보여줍니다.

curl -X POST -d '{
  "origin":{
    "location":{
      "latLng":{
        "latitude":42.340173523716736,
        "longitude":-71.05997968330408
      }
    }
  },
  "destination":{
    "location":{
      "latLng":{
        "latitude":42.075698891472804,
        "longitude": -72.59806562080408
      }
    }
  },
  "travelMode": "DRIVE",
  "routingPreference":"TRAFFIC_AWARE",
  "computeAlternativeRoutes": true
}' \
-H 'Content-Type: application/json' -H 'X-Goog-Api-Key: YOUR_API_KEY' \
-H 'X-Goog-FieldMask: routes.duration,routes.distanceMeters,routes.routeLabels' \
'https://routes.googleapis.com/directions/v2:computeRoutes'

이 예에서는 각 경로의 duration, distanceMeters,, routeLabels 속성만 응답에 포함되도록 필드 마스크를 지정합니다. 그러면 고객이 이 정보를 사용하여 어떤 경로를 선택할지 결정할 수 있습니다. 자세한 내용은 반환할 정보 선택을 참고하세요.

대체 경로 응답 예시

응답에서 routeLabels 배열 속성을 사용하여 도달 범위 경로를 식별합니다.

  • 기본 경로의 경우 routeLabels 속성에 DEFAULT_ROUTE이 포함됩니다.

  • 대체 경로의 경우 routeLabels 속성에 DEFAULT_ROUTE_ALTERNATE이 포함됩니다.

이 예시에서 응답에는 기본 경로와 두 개의 대체 경로가 포함됩니다. durationdistanceMeters 속성 값이 경로마다 다릅니다.

{
  "routes": [
    {
      "distanceMeters": 150322,
      "duration": "5309s",
      "routeLabels": [
        "DEFAULT_ROUTE"
      ]
    },
    {
      "distanceMeters": 157614,
      "duration": "6879s",
      "routeLabels": [
        "DEFAULT_ROUTE_ALTERNATE"
      ]
    },
    {
      "distanceMeters": 189311,
      "duration": "7376s",
      "routeLabels": [
        "DEFAULT_ROUTE_ALTERNATE"
      ]
    }
   ]
}

응답에 폴리라인 포함

사용자가 경로를 더 쉽게 선택할 수 있도록 각 경로의 polyline을 응답에 추가합니다. 그런 다음 지도에 각 다중선을 표시할 수 있습니다.

다중선을 추가하려면 필드 마스크에 routes.polyline를 포함하세요.

-H 'X-Goog-FieldMask: routes.duration,routes.distanceMeters,routes.routeLabels,routes.polyline'

그러면 응답에 각 경로의 폴리라인이 포함됩니다.

{
  "routes": [
    {
      "distanceMeters": 150322,
      "duration": "5309s",
      "polyline": {
        "encodedPolyline": "mrlaGtavpLPLBTm…PgA^qC"
      },
      "routeLabels": [
        "DEFAULT_ROUTE"
      ]
    },
    {
      "distanceMeters": 157614,
      "duration": "6879s",
      "polyline": {
        "encodedPolyline": "DmEd`@e@pCo@pCs@z…PgA^qC"
      },
      "routeLabels": [
        "DEFAULT_ROUTE_ALTERNATE"
      ]
    },
    {
      "distanceMeters": 189311,
      "duration": "7376s",
      "polyline": {
        "encodedPolyline": "FVLL|Af@HPAV…PgA^qC"
      },
      "routeLabels": [
        "DEFAULT_ROUTE_ALTERNATE"
      ]
    }
   ]
}