경로 응답 검토

Routes API는 경로를 계산할 때 입력으로 제공된 중간 지점과 구성 매개변수를 사용합니다. 그러면 API는 기본 경로와 하나 이상의 대체 경로가 포함된 응답을 반환합니다.

요청하는 필드에 따라 응답에 다양한 유형의 경로와 기타 데이터가 포함될 수 있습니다.

응답에 포함 이 문서 참고
차량의 엔진 유형에 따라 연비 또는 에너지 효율이 가장 높은 경로입니다. 친환경 경로 구성
최대 3개의 대체 경로 대체 경로 요청
전체 경로, 경로의 각 구간, 구간의 각 단계에 대한 다중선입니다. 경로 다중선 요청
운전자 또는 차량에 적용되는 통행료 할인 또는 패스를 고려한 예상 통행료입니다. 통행료 계산
언어 코드 및 측정 단위 (야드파운드법 또는 미터법)별로 현지화된 응답 현지화된 값 요청
탐색 안내를 HTML 텍스트 문자열로 형식 지정하려면 extraComputationsHTML_FORMATTED_NAVIGATION_INSTRUCTIONS를 추가합니다. 추가 계산

입력 옵션의 전체 목록은 사용 가능한 경로 옵션요청 본문을 참고하세요.

응답을 사용하여 고객의 요구사항에 적합한 경로를 선택하는 데 필요한 정보를 고객에게 제공할 수 있습니다.

필드 마스크에 관한 정보

경로를 계산하는 메서드를 호출할 때는 응답에 반환할 필드를 정의하는 필드 마스크를 지정해야 합니다. 반환되는 필드의 기본 목록은 없습니다. 이 목록을 생략하면 메서드에서 오류를 반환합니다.

이 문서의 예에서는 필드 마스크를 고려하지 않고 전체 응답 객체를 보여줍니다. 프로덕션 환경에서는 필드 마스크에 명시적으로 지정한 필드만 응답에 포함됩니다.

자세한 내용은 반환할 정보 선택을 참고하세요.

저작권 표시 정보

사용자에게 결과를 표시할 때 다음 저작권 문구를 포함해야 합니다.

Powered by Google, ©YEAR Google

예를 들면 다음과 같습니다.

Powered by Google, ©2023 Google

경로, 구간, 단계 정보

Routes API에서 반환된 응답을 살펴보기 전에 경로를 구성하는 구성요소를 이해해야 합니다.

경로, 구간, 단계

응답에는 다음과 같은 각 경로 구성요소에 관한 정보가 포함될 수 있습니다.

  • 경로: 출발 웨이포인트에서 중간 웨이포인트를 거쳐 목적지 웨이포인트까지의 전체 여정입니다. 경로는 하나 이상의 구간으로 구성됩니다.

  • 구간: 경로의 한 웨이포인트에서 경로의 다음 웨이포인트까지의 경로입니다. 각 구간은 하나 이상의 개별 단계로 구성됩니다.

    경로에는 각 경유지에서 다음 경유지로의 경로에 관한 별도의 구간이 포함됩니다. 예를 들어 경로에 출발 웨이포인트 1개와 도착 웨이포인트 1개가 포함된 경우 경로에 구간이 하나 포함된 것입니다. 출발지와 도착지 뒤에 경로에 추가하는 추가 중간 지점(중간 중간 지점이라고 함)마다 API는 별도의 구간을 추가합니다.

    API는 패스 스루 중간 경유지에 대한 구간을 추가하지 않습니다. 예를 들어 출발지 경유지, 통과 중간 경유지, 도착지 경유지가 포함된 경로에는 경유지를 통과하면서 출발지에서 목적지까지의 구간이 하나만 포함됩니다. 패스스루 웨이포인트에 관한 자세한 내용은 패스스루 웨이포인트 정의를 참고하세요.

  • 단계: 경로의 구간을 따라 하나의 안내입니다. 스텝은 경로의 가장 작은 단위입니다. 예를 들어 'Main Street에서 좌회전'이라고 표시할 수 있습니다.

응답 내용

API 응답을 나타내는 JSON 객체에는 다음과 같은 최상위 속성이 포함됩니다.

  • routes: 경로 유형의 요소 배열입니다. routes 배열에는 API에서 반환한 경로별로 하나의 요소가 포함됩니다. 배열에는 기본 경로, 친환경 경로, 최대 3개의 대체 경로 등 최대 5개의 요소가 포함될 수 있습니다.

  • geocodingResults: GeocodingResults 유형의 요소 배열입니다. 요청의 모든 위치 (출발지, 도착지 또는 중간 경로)를 주소 문자열 또는 플러스 코드로 지정하면 API에서 장소 ID 조회를 실행합니다. 이 배열의 각 요소에는 위치에 해당하는 장소 ID가 포함됩니다. 요청의 위치가 장소 ID 또는 위도/경도 좌표로 지정된 경우 포함되지 않습니다. 장소 ID 또는 위도 및 경도 좌표를 사용하여 모든 위치를 지정한 경우 이 배열은 제공되지 않습니다.

  • FallbackInfo 유형의 fallbackInfo API가 모든 입력 속성에서 경로를 계산할 수 없는 경우 다른 계산 방법을 사용하도록 대체될 수 있습니다. 대체 모드가 사용되면 이 필드에 대체 응답에 관한 자세한 정보가 포함됩니다. 그렇지 않으면 이 필드는 설정되지 않습니다.

응답의 형식은 다음과 같습니다.

{
  // The routes array.
  "routes": [
    {
      object (Route)
    }
  ],
  // The place ID lookup results.
  "geocodingResults": [
    {
      object (GeocodedWaypoint)
    }
  ],
  // The fallback property.
  "fallbackInfo": {
    object (FallbackInfo)
  }
}

경로 배열 해독

응답에는 routes 배열이 포함되며, 각 배열 요소는 경로 유형입니다. 각 배열 요소는 출발지에서 목적지까지의 전체 경로를 나타냅니다. API는 항상 기본 경로라고 하는 경로를 하나 이상 반환합니다.

경로를 추가로 요청할 수 있습니다. 친환경 경로를 요청하는 경우 배열에 기본 경로와 친환경 경로라는 두 가지 요소가 포함될 수 있습니다. 또는 요청에서 computeAlternativeRoutestrue로 설정하여 응답에 최대 3개의 대체 경로를 추가할 수 있습니다.

배열의 각 경로는 routeLabels 배열 속성으로 식별됩니다.

설명
DEFAULT_ROUTE 기본 경로를 식별합니다.
FUEL_EFFICIENT 친환경 경로를 식별합니다.
DEFAULT_ROUTE_ALTERNATE I는 대체 경로를 나타냅니다.

legs 배열에는 경로의 각 구간에 대한 정의가 포함됩니다. 나머지 속성(예: distanceMeters, duration, polyline,)에는 경로 전체에 관한 정보가 포함됩니다.

{
  "routeLabels": [
    enum (RouteLabel)
  ],
  "legs": [
    {
      object (RouteLeg)
    }
  ],
  "distanceMeters": integer,
  "duration": string,
  "routeLabels": [string],
  "staticDuration": string,
  "polyline": {
    object (Polyline)
  },
  "description": string,
  "warnings": [
    string
  ],
  "viewport": {
    object (Viewport)
  },
  "travelAdvisory": {
    object (RouteTravelAdvisory)
  }
  "routeToken": string
}

현재 운전 조건 및 기타 요인으로 인해 기본 경로와 친환경 경로가 동일할 수 있습니다. 이 경우 routeLabels 배열에는 DEFAULT_ROUTEFUEL_EFFICIENT 라벨이 모두 포함됩니다.

{
  "routes": [
    {
      "routeLabels": [
        "DEFAULT_ROUTE",
        "FUEL_EFFICIENT"
      ],
     …
    }
  ]
}

경로 배열 이해

응답의 각 route에는 legs 배열이 포함되며, 여기서 각 legs 배열 요소는 RouteLeg 유형입니다. 배열의 각 구간은 경로의 한 웨이포인트에서 다음 웨이포인트로의 경로를 정의합니다. 경로에는 항상 구간이 하나 이상 포함됩니다.

legs 속성에는 steps 배열의 구간별 각 단계의 정의가 포함되어 있습니다. 나머지 속성(예: distanceMeters, duration, polyline)에는 구간에 관한 정보가 포함됩니다.

{
  "distanceMeters": integer,
  "duration": string,
  "staticDuration": string,
  "polyline": {
    object (Polyline)
  },
  "startLocation": {
    object (Location)
  },
  "endLocation": {
    object (Location)
  },
  "steps": [
    {
      object (RouteLegStep)
    }
  ],
  "travelAdvisory": {
    object (RouteLegTravelAdvisory)
  }
}

단계 배열 이해

응답의 각 구간에는 steps 배열이 포함되며, 여기서 각 steps 배열 요소는 RouteLegStep 유형입니다. 단계는 다리에서 단일 안내에 해당합니다. 구간에는 항상 하나 이상의 단계가 포함됩니다.

steps 배열의 각 요소에는 단계 안내가 포함된 NavigationInstruction 유형의 navigationInstruction 속성이 포함됩니다. 예를 들면 다음과 같습니다.

"navigationInstruction": {
  "maneuver": "TURN_LEFT",
  "instructions": "Turn left toward Frontage Rd"
}

instructions에는 단계에 관한 추가 정보가 포함될 수 있습니다. 예를 들면 다음과 같습니다.

"navigationInstruction": {
  "maneuver": "TURN_SLIGHT_LEFT",
  "instructions": "Slight left (signs for I-90 W/Worcester)nParts of this road may be closed at certain times or days"
}

단계의 나머지 속성은 distanceMeters, duration, polyline와 같이 단계에 관한 정보를 설명합니다.

{
  "distanceMeters": integer,
  "staticDuration": string,
  "polyline": {
    object (Polyline)
  },
  "startLocation": {
    object (Location)
  },
  "endLocation": {
    object (Location)
  },
  "navigationInstruction": {
    object (NavigationInstruction)
  }
}

단계 안내의 언어 지정

API는 기본 언어를 준수하면서 필요한 경우 사용자가 읽을 수 있는 스크립트로 음차한 현지 언어로 경로 정보를 반환합니다. 주소 구성요소는 모두 동일한 언어로 반환됩니다.

  • 요청languageCode 매개변수를 사용하여 지원되는 언어 목록에서 경로 언어를 명시적으로 설정합니다. 지원되는 언어는 자주 업데이트되므로 목록이 완전하지 않을 수 있습니다.

  • 지정된 언어로 이름을 사용할 수 없는 경우 API는 가장 유사한 일치 항목을 사용합니다.

  • 지정된 언어는 API가 반환하려고 선택한 결과 집합과 반환 순서에 영향을 미칠 수 있습니다. 지오코더는 언어에 따라 유효하거나 유효하지 않을 수 있는 동의어 또는 거리 유형에 대한 약어와 같이 언어에 따라 다르게 약어를 해석합니다. 예를 들어 utca와 tér는 헝가리어로 거리에 대한 동의어입니다.

geocodingResults 배열 이해

주소 문자열 또는 플러스 코드로 지정된 요청의 모든 위치 (출발지, 도착지 또는 중간 경로)에 대해 API는 상응하는 장소 ID가 있는 가장 관련성 높은 위치를 찾으려고 시도합니다. geocodingResults 배열의 각 요소에는 위치를 장소 ID로 포함하는 placeID 필드와 위치 유형(예: street_address, premise, airport)을 지정하는 type 필드가 포함됩니다.

geocodingResults 배열에는 다음 세 필드가 포함됩니다.

  • origin: 주소 문자열 또는 Plus 코드로 지정된 경우 출처의 장소 ID입니다. 그렇지 않으면 이 필드는 응답에서 생략됩니다.

  • destination: 주소 문자열 또는 Plus 코드로 지정된 경우 대상의 장소 ID입니다. 그렇지 않으면 이 필드는 응답에서 생략됩니다.

  • intermediates: 주소 문자열 또는 Plus 코드로 지정된 중간 경유지의 장소 ID가 포함된 배열입니다. 장소 ID 또는 위도 및 경도 좌표를 사용하여 중간 경유지를 지정하면 응답에서 생략됩니다. 응답의 intermediateWaypointRequestIndex 속성을 사용하여 요청의 중간 웨이포인트 중 응답의 장소 ID에 해당하는 웨이포인트를 확인합니다.

"geocodingResults": {
    "origin": {
        "geocoderStatus": {},
        "type": [
             enum (Type)
        ],
        "placeId": string
    },
    "destination": {
        "geocoderStatus": {},
        "type": [
            enum (Type)
        ],
        "placeId": string
    },
    "intermediates": [
        {
            "geocoderStatus": {},
            "intermediateWaypointRequestIndex": integer,
            "type": [
                enum (Type)
            ],
            "placeId": string
        },
        {
           "geocoderStatus": {},
           "intermediateWaypointRequestIndex": integer,
            "type": [
                enum (Type)
            ],
            "placeId": string
        }
    ]
}

현지화된 응답 값 이해하기

현지화된 응답 값은 반환된 매개변수 값에 대해 현지화된 텍스트를 제공하는 추가 응답 필드입니다. 이동 시간, 거리, 단위 체계 (미터법 또는 영국식)에 대해 현지화된 텍스트가 제공됩니다. 필드 마스크를 사용하여 현지화된 값을 요청하고 언어 및 단위 체계를 지정하거나 API에서 추론한 값을 사용할 수 있습니다. 자세한 내용은 LocalizedValues를 참고하세요.

예를 들어 독일어(de) 및 영국식 단위의 언어 코드를 지정하면 distanceMeters 값은 49889.7이지만 독일어 및 영국식 단위로 거리 측정을 제공하는 현지화된 텍스트(예: '31 Meile')도 제공됩니다.

다음은 현지화된 값이 표시되는 방식의 예입니다.

{ "localized_values":
  {
    "distance": { "text": "31,0 Meile/n" },
    "duration": { "text": 38 Minuten}.
    "static_duration": { "text": 36 Minuten}.
  }
}

언어 또는 단위 시스템을 지정하지 않으면 API는 다음과 같이 언어와 단위를 추론합니다.

  • ComputeRoutes 메서드는 출발 웨이포인트에서 위치와 거리 단위를 추론합니다. 따라서 미국의 라우팅 요청의 경우 API는 en-US 언어와 IMPERIAL 단위를 추론합니다.
  • ComputeRouteMatrix 메서드는 기본적으로 'en-US' 언어 및 미터법 단위를 사용합니다.