트래픽 옵션 설정

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

선택한 트래픽 환경설정은 다음 두 가지 방법 중 하나로 경로 세부정보의 정확성과 요청 성능의 균형을 유지합니다.

  • 트래픽 인식: 가능한 가장 정확한 결과를 반환합니다 (지연 시간 증가).
  • 트래픽 인식 안 함: 최대한 빨리 결과를 반환합니다 (최저 지연 시간).

요청을 할 때는 가능한 한 가장 정확한 결과를 반환하는 것이 나은지 아니면 가능한 한 빨리 결과를 반환하는 것이 나은지 고려하세요. Routes 라이브러리는 응답 데이터의 품질과 응답 지연 시간을 제어할 수 있는 옵션을 제공합니다.

트래픽 수준 및 트래픽 모델 설정

트래픽 수준을 지정하려면 ComputeRoutesRequest에서 routingPreference을 설정합니다. 다음 목록에는 사용할 수 있는 routingPreference 옵션이 나와 있습니다.

  • TRAFFIC_UNAWARE (기본값): 대략적인 경로 세부정보와 함께 결과를 가장 빠르게 반환합니다.
  • TRAFFIC_AWARE: 실시간 교통 데이터를 사용하여 더 정확한 결과를 반환하지만 지연 시간이 더 깁니다.
  • TRAFFIC_AWARE_OPTIMAL: 실시간 교통 데이터를 사용하여 가능한 가장 정확한 결과를 반환하지만 지연 시간이 가장 깁니다.

TRAFFIC_MODEL 속성은 교통 상황에서 시간을 예측할 때 사용할 가정을 나타냅니다( TrafficModel.BEST_GUESS (기본값), TrafficModel.OPTIMISTIC, TrafficModel.PESSIMISTIC).

교통 상황을 고려한 경로 선택 방법

교통 상황을 고려한 경로 요청을 만들려면 다음 단계를 따르세요.

  1. travelMode 속성을 DRIVING로 설정합니다.

  2. routingPreference 속성을 다음 중 하나로 설정합니다.

    • TRAFFIC_AWARE
    • TRAFFIC_AWARE_OPTIMAL

    참고: TRAFFIC_UNAWARE이 기본 설정입니다.

  3. trafficModel 속성을 다음 중 하나로 설정합니다.

  4. extraComputations 속성을 TRAFFIC_ON_POLYLINE로 설정합니다.

  5. path, speedPaths, routeLabels 필드를 요청합니다.

다음 예시 요청은 폴리라인에 교통 데이터를 표시하는 교통 상황 인식 경로를 요청하는 방법을 보여줍니다.

// Define a traffic aware routes request with polylines.
const requestWithTraffic = {
  origin: '200 King St San Francisco, CA 94107',
  destination: 'Pier 41, San Francisco, CA 94133',
  travelMode: 'DRIVING',
  routingPreference: 'TRAFFIC_AWARE_OPTIMAL',
  trafficModel: 'optimistic',
  extraComputations: ['TRAFFIC_ON_POLYLINE'],
  fields: ['speedPaths'],
};
    

교통상황

교통상황은 교통 흐름의 속도를 나타냅니다.

  • 일반 교통량: 교통이 정상 속도로 흐르며 정체가 없습니다.
  • 가벼운 교통 체증에서 중간 정도의 교통 체증: 교통 체증이 증가하고 교통량이 감소한 속도로 이동합니다.
  • 정체: 심각한 정체로 인해 교통 속도가 크게 감소합니다.

교통정보를 알 수 없음

TRAFFIC_UNAWARE이 기본 설정입니다. 가장 빠른 응답이 필요하고 대략적인 라우팅 세부정보로 충분한 경우 이 라우팅 환경설정을 사용합니다.

TRAFFIC_UNAWARE 경로는 현재 교통상황을 고려하지 않고 계산됩니다. 이 라우팅 환경설정은 가장 빠른 요청 응답 (최저 지연 시간)을 제공합니다.

TRAFFIC_UNAWARE를 선택하면 현재 도로 상황이 아닌 도로망 및 평균 시간과 무관한 교통상황을 기반으로 경로 및 소요 시간이 선택됩니다. 따라서 경로에는 일시적으로 폐쇄된 도로가 포함될 수 있습니다. 지정된 요청의 결과는 도로망의 변화, 평균 교통상황의 업데이트 및 분산된 서비스 특성으로 인해 시간이 지남에 따라 달라질 수도 있습니다. 거의 동일한 경로 간에도 언제든지 또는 수시로 결과가 다를 수도 있습니다.

표시되는 대답은 다음과 같습니다.

  • duration: 경로의 예상 도착 시간을 포함합니다.
  • staticDuration: 이전 교통 정보만 고려한 경로의 예상 도착 시간입니다. TRAFFIC_UNAWARE의 경우 duration과 동일한 값이 포함됩니다.

교통 상황 인식

TRAFFIC_UNAWARE보다 정확한 라우팅 세부정보가 필요하지만 지연 시간이 약간 증가해도 괜찮은 경우 이 라우팅 환경설정을 사용하세요.

TRAFFIC_AWARE 라우팅 환경설정을 설정하면 서비스에서 현재 교통상황을 고려하여 경로를 계산합니다. 따라서 경로와 경로 세부정보가 실제 조건을 더 정확하게 반영합니다. 데이터 품질이 향상되는 대신 응답 지연 시간이 늘어나므로 지연 시간을 크게 줄이기 위해 성능 최적화가 적용됩니다.

표시되는 대답은 다음과 같습니다.

  • duration: 실시간 교통 정보를 고려한 도착 예정 시간입니다.
  • staticDuration: 이전 교통 정보만 고려한 경로의 예상 도착 시간입니다.

트래픽 인식 최적

응답 시간에 관계없이 최고 품질의 결과를 원하는 경우 이 라우팅 환경설정을 사용하세요. 이 라우팅 환경설정은 응답을 반환하는 데 가장 긴 지연 시간(가장 높은 지연 시간)이 있습니다.

TRAFFIC_AWARE_OPTIMAL 라우팅 환경설정을 설정하면 서비스에서 현재 교통 상황을 고려하여 경로를 계산하지만 성능 최적화는 적용하지 않습니다. 이 모드에서 서버는 최적의 경로를 찾기 위해 도로 네트워크를 더 철저하게 검색합니다.

TRAFFIC_AWARE_OPTIMAL 경로 설정은 maps.google.com 및 Google 지도 모바일 앱에서 사용되는 모드와 동일합니다.

이 옵션을 computeRouteMatrix와 함께 사용하는 경우 요청의 요소 수 (출발지 수 × 목적지 수)는 25를 초과할 수 없습니다.

표시되는 대답은 다음과 같습니다.

  • duration: 실시간 교통 정보를 고려한 경로의 예상 도착 시간입니다.
  • staticDuration: 이전 교통 정보만 고려한 경로의 예상 도착 시간입니다.

출발 시간 설정 (선택사항)

이 속성은 출발 시간이 미래여야 하는 교통 상황 인식 요청에만 사용하세요. departureTime 속성을 설정하지 않으면 기본값은 요청 시간입니다.

경로를 선택할 때 서비스에서 트래픽을 예측하는 방식을 조정하려면 departureTime 속성을 TRAFFIC_AWARETRAFFIC_AWARE_OPTIMAL 옵션과 함께 사용합니다.

  • TRAFFIC_UNAWARE: 경로 및 소요 시간 선택이 도로망 및 평균 시간과 무관한 교통상황을 기반으로 하므로 권장되지 않음
  • TRAFFIC_AWARETRAFFIC_AWARE_OPTIMAL: 이러한 환경설정은 실시간 교통 상황을 고려하므로 가까운 시일 내에 출발하는 경우에 권장됩니다. departureTime이 현재에 가까울수록 실시간 교통정보가 더 중요하고 관련성이 높아집니다. 출발 시간을 미래로 더 멀리 설정할수록 경로를 선택할 때 이전 교통 상황이 더 많이 고려됩니다.

경로 토큰 가져오기

경로 토큰은 경로의 웹 보안 base64 인코딩 표현입니다. 경로 토큰을 사용하여 Navigation SDK와 경로를 공유합니다. SDK는 이 토큰을 사용하여 경로를 재구성하고 경로 재지정 중에도 원래 탐색 의도를 유지합니다.

경로 토큰을 가져오려면 다음 단계를 따르세요.

  • travelMode를 DRIVING로 설정합니다.
  • routingPreferenceTRAFFIC_AWARE 또는 TRAFFIC_AWARE_OPTIMAL로 설정합니다.
  • routeToken 필드를 요청합니다.

다음 예시 요청은 경로 토큰을 요청하는 방법을 보여줍니다.

// Define a traffic aware routes request with a route token.
const requestWithRouteToken = {
  origin: '200 King St San Francisco, CA 94107',
  destination: 'Pier 41, San Francisco, CA 94133',
  travelMode: 'DRIVING',
  routingPreference: 'TRAFFIC_AWARE',
  fields: ['path', 'speedPaths', 'routeLabels', 'routeToken'],
};