교통 모델은 특정 알고리즘과 요인을 사용하여 교통 상황이 특정 경로의 총 이동 시간에 미치는 영향을 예측합니다. Routes API는 트래픽에서 시간을 계산하는 데 사용되는 다양한 요소를 우선시하기 위해 다양한 트래픽 모델 유형을 제공합니다. 경로 또는 경로 매트릭스의 시간을 계산할 때 경로에서 사용할 교통 모델 유형을 지정할 수 있습니다. 트래픽 모델 유형을 설정하면 duration 필드에 반환되는 값이 선택한 트래픽 모델에 따라 달라집니다.
Routes API Compute Routes 및 Compute Route Matrix 메서드는 모두 교통 모델 유형을 지원합니다.
기본적으로 두 메서드 모두 BEST_GUESS 트래픽 모델 유형을 사용합니다.
트래픽 유형을 지정하려면 다음 단계를 따르세요.
출발지와 목적지를 설정합니다.
출발 시간이 미래인 경우 departure_time 매개변수를 사용하여 시간을 포함합니다. 출발 시간을 지정하지 않으면 현재 시간이 기본값으로 설정됩니다.
routingPreference 매개변수를 TRAFFIC_AWARE_OPTIMAL로 설정합니다. routingPreference을 TRAFFIC_UNAWARE 또는 TRAFFIC_AWARE로 설정하는 것은 trafficModel 매개변수와 호환되지 않습니다.
trafficModel 매개변수 및 다음 유형 중 하나와 함께 사용할 트래픽 모델을 선택합니다.
BEST_GUESS (기본값): 이전 교통상황과 실시간 교통정보에 대해 알려진 정보를 기준으로 할 때 반환된 duration_in_traffic이 최적의 예상 이동 시간임을 요청합니다. departure_time이 현재에 가까울수록 실시간 교통정보가 더 중요합니다. 기본 유형의 BEST_GUESS를 사용하면 대부분의 사용 사례에 가장 유용한 예측을 얻을 수 있습니다.
PESSIMISTIC을 사용하여 반환된 duration_in_traffic이 교통상황이 나쁜 날의 이전 교통상황을 기반으로 시간을 모델링하도록 요청합니다.
이 유형은 대부분의 날에 실제 이동 시간보다 긴 예상 시간을 제공합니다. 특히 조건이 나쁜 날은 이 추정치를 초과할 수도 있습니다.
OPTIMISTIC를 사용하여 반환된 duration_in_traffic이 교통 상황이 좋은 날의 이전 교통 상황을 기반으로 시간을 모델링하도록 요청합니다.
이 유형은 대부분의 날에 실제 이동 시간보다 짧을 가능성이 가장 높은 예상 시간을 제공합니다. 특히 조건이 좋은 날은 이 추정치보다 빠를 수도 있습니다.
예를 들면 다음과 같습니다.
"trafficModel":"OPTIMISTIC"
필드 마스크에서 routes.duration 필드를 지정합니다.
REST
-HX-Goog-FieldMask:routes.duration
RPC
const(fieldMask="routes.duration")
Routes API는 교통 상황을 고려하여 시간을 추정할 때 요청한 교통 모델 유형을 사용합니다.
예: 트래픽 모델 요청
예를 들어 이 요청은 특정 출발 시간에 OPTIMISTIC 교통 모델 유형을 사용하여 기간을 추정하도록 지정합니다.
[null,null,["최종 업데이트: 2025-07-30(UTC)"],[[["\u003cp\u003eThe Routes API offers different traffic models (\u003ccode\u003eBEST_GUESS\u003c/code\u003e, \u003ccode\u003ePESSIMISTIC\u003c/code\u003e, \u003ccode\u003eOPTIMISTIC\u003c/code\u003e) to predict travel times based on various traffic conditions.\u003c/p\u003e\n"],["\u003cp\u003eYou can specify the desired traffic model when calculating routes, with \u003ccode\u003eBEST_GUESS\u003c/code\u003e being the default, providing the most useful predictions for most use cases.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003ePESSIMISTIC\u003c/code\u003e models travel time based on bad traffic days, likely resulting in a longer estimated duration, while \u003ccode\u003eOPTIMISTIC\u003c/code\u003e uses good traffic days, potentially resulting in a shorter duration.\u003c/p\u003e\n"],["\u003cp\u003eLive traffic information is integrated into the \u003ccode\u003eBEST_GUESS\u003c/code\u003e model, making it potentially shorter than \u003ccode\u003eOPTIMISTIC\u003c/code\u003e or longer than \u003ccode\u003ePESSIMISTIC\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eTo use traffic models, include the \u003ccode\u003etrafficModel\u003c/code\u003e parameter in your request and specify \u003ccode\u003eroutes.duration\u003c/code\u003e in the field mask.\u003c/p\u003e\n"]]],["The Routes API's traffic models predict travel time, offering `BEST_GUESS` (default), `PESSIMISTIC` (longer), and `OPTIMISTIC` (shorter) durations. To use, set the origin, destination, and optional `departure_time`. Choose a `trafficModel` type and specify `routes.duration` in the field mask. The API calculates traffic-affected durations based on the selected model. Using `BEST_GUESS` integrate live information. The default is `BEST_GUESS`, and the duration returned varies depending on the chosen model. The service is pre-GA, it might have limited support and changes.\n"],null,["# Specify the traffic model type to use\n\n**European Economic Area (EEA) developers** If your billing address is in the European Economic Area, effective on 8 July 2025, the [Google Maps Platform EEA Terms of Service](https://cloud.google.com/terms/maps-platform/eea) will apply to your use of the Services. Functionality varies by region. [Learn more](/maps/comms/eea/faq).\n\n\u003cbr /\u003e\n\n| This product or feature is Experimental (pre-GA). Pre-GA products and features might have limited support, and changes to pre-GA products and features might not be compatible with other pre-GA versions. Pre-GA Offerings are covered by the [Google\n| Maps Platform Service Specific Terms](https://cloud.google.com/maps-platform/terms/maps-service-terms). For more information, see the [launch stage descriptions](/maps/launch-stages).\n\n\u003cbr /\u003e\n\nTraffic models use specific algorithms and factors to predict how traffic\nconditions impact total travel time for a given route. The Routes API\noffers different traffic model types to prioritize different factors used in\ncalculating duration in traffic. You can specify the traffic model type you'd\nlike your routes to use when calculating the duration for your routes or route\nmatrix. When you set the traffic model type, the value returned in the\n`duration` field varies depending on the traffic model you choose.\n\nBoth the Routes API `Compute Routes` and\n`Compute Route Matrix` methods support traffic model types.\n\nBy default, both methods use the `BEST_GUESS` traffic model type.\n\nTo specify a traffic type\n-------------------------\n\n1. Set your origin and destination.\n\n2. If your departure time is in the future, include the time using the\n `departure_time` parameter. If you don't specify a departure time, it\n defaults to now.\n\n3. Set the `routingPreference` parameter to `TRAFFIC_AWARE_OPTIMAL`. Setting the\n `routingPreference` to `TRAFFIC_UNAWARE` or `TRAFFIC_AWARE` is incompatible\n with the `trafficModel` parameter.\n\n4. Select the traffic model to use with the `trafficModel` parameter and\n one of the following types:\n\n - `BEST_GUESS` (default) to request that the returned `duration_in_traffic`\n is the best estimate of travel time given what is known about both\n historical traffic conditions and live traffic. Live traffic becomes more\n important the closer the `departure_time` is to now. Using the default type\n of `BEST_GUESS` gives the most useful predictions for the vast majority of\n use cases.\n\n - `PESSIMISTIC` to request that the returned `duration_in_traffic` models the\n time based on the historical traffic conditions on bad traffic days.\n This type gives an estimated duration that is most likely **longer** than\n the actual travel time on most days. Occasional days with particularly bad\n conditions may still exceed this estimate.\n\n - `OPTIMISTIC` to request that the returned `duration_in_traffic` models the\n time based on the historical traffic conditions on good traffic days.\n This type gives an estimated duration that is most likely **shorter** than\n the actual travel time on most days. Occasional days with particularly\n good conditions may still be faster than this estimate.\n\n For example: \n\n ```json\n \"trafficModel\": \"OPTIMISTIC\"\n ```\n\n \u003cbr /\u003e\n\n | **Note:** It is possible the `BEST_GUESS` travel time prediction may be shorter than `OPTIMISTIC` or longer than `PESSIMISTIC`, due to the way `BEST_GUESS` integrates live traffic information.\n5. Specify the `routes.duration` field in the field mask.\n\n **REST** \n\n ```json\n -H X-Goog-FieldMask: routes.duration\n ```\n\n **RPC** \n\n ```gdscript\n const (fieldMask = \"routes.duration\")\n ```\n\nWhen the Routes API estimates time in traffic, it uses the traffic\nmodel type you've requested.\n\nExample: Traffic model request\n------------------------------\n\nFor example, this request specifies that the duration be estimated using the\n`OPTIMISTIC` traffic model type at a specific departure time: \n\n```json\ncurl -X POST -H 'content-type: application/json' -d ' {\n\"origin\": {\n \"address\": \"Kyoto, Japan\"\n },\n\"destination\": {\n \"placeId\": \"ChIJrYtcv-urAWAR3XzWvXv8n_s\"\n },\n\"travelMode\": \"DRIVE\",\n\"routingPreference\": \"TRAFFIC_AWARE_OPTIMAL\",\n\"trafficModel\": \"OPTIMISTIC\"\n}' \\\n-H 'Content-Type: application/json' \\\n-H 'X-Goog-Api-Key: YOUR_API_KEY' \\\n-H 'X-Goog-FieldMask: routes.duration' \\\n'https://routes.googleapis.com/directions/v2:computeRoutes'\n```\n\nThis request returns the estimated duration using the `OPTIMISTIC` traffic model\ntype for the trip: \n\n```json\n\"duration\": \"1238s\"\n```\n\nIf you change the traffic model type to `PESSIMISTIC`, the returned duration is\nlonger: \n\n```json\n\"duration\": \"2436s\"\n```\n| **Note:** If you do not specify a `departureTime`, the implied departure is the request time. This means that you may get different values depending on when the request is sent."]]