기본적으로 차량은 어느 방향에서든 픽업 또는 배송 위치에 도착할 수 있으며 어느 방향으로든 떠날 수 있습니다. 이로 인해 차량이 방문 위치에서 유턴해야 하는 경우가 있는데, 차량 크기나 위치의 교통 표지판, 일반적인 교통 상황으로 인해 유턴이 어렵거나 불가능할 수 있습니다.
특정 픽업 또는 배송 위치의 도착과 출발 사이에 차량이 방향을 바꾸지 않도록 하려면 이 위치에 대해 avoid_u_turns을 true로 설정하면 됩니다. 이 설정에서는 차량이 동일한 방향으로 위치에 도착하고 떠나므로 U턴을 피할 수 있습니다. 양방향 도로에서 솔버는 양방향을 모두 고려하고 경로 최적화의 일부로 한 방향을 선택합니다.
side_of_road를 true로 설정하여 차량이 경유지와 가장 가까운 도로변에 도착하고 출발하는 경로를 가져올 수도 있습니다. 이 경우 차량은 도착과 출발 사이의 방향도 변경하지 않습니다. side_of_road와 avoid_u_turns를 모두 true로 설정하여 동일한 결과를 얻을 수 있습니다. 자세한 내용은 다른 기능과의 상호작용을 참고하세요.
실제로 avoid_u_turns는 웨이포인트로 이동하기 위해 도로를 건너도 안전한 경우에 사용해야 합니다. 횡단이 권장되지 않거나 불가능한 경우 side_of_road를 사용합니다.
avoid_u_turns는 side_of_road = true와 함께 사용할 수 있습니다. 이 경우 유턴은 피하지만 솔버는 차량이 경유지와 동일한 도로 측면에 있는 경로를 선택합니다. 이는 side_of_road = true만 설정하는 것과 유사합니다.
특정 방문 요청에 대해 avoid_u_turns = true인 경우 해당 응답의 ShipmentRoute.Visit에 injected_solution_location_token 필드가 설정됩니다. 값의 정확한 의미는 구현 세부정보이지만 솔버가 선택한 도로 측면에 관한 정보를 인코딩합니다.
입력 요청의 일부로 ShipmentRoute.Visit를 사용하는 경우 해당 ShipmentRoute.Visit가 avoid_u_turns = true가 있는 VisitRequest에 해당하는 경우 ShipmentRoute.Visit에는 이전에 솔버에서 반환된 injected_solution_location_token가 포함되어야 합니다.
제한사항
U턴 회피는 최선의 방식으로 실행됩니다. 특정 상황에서는 경로에 U턴이 포함될 수 있습니다.
avoid_u_turns는 side_of_road를 지원하는 이동 수단에서만 작동합니다.
특히 WALKING 이동 모드에서는 지원되지 않습니다.
avoid_u_turns은 도착과 출발이 동일하지 않은 픽업 및 배송에 사용할 수 없습니다.
픽업 또는 배송이 막다른 길에 있는 경우 길을 벗어나려면 유턴해야 합니다.
이 기능의 목표는 픽업 및 배송 위치에서 U턴을 방지하는 것입니다.
경유지 간 유턴은 피하지 않습니다.
다른 도로로 급격하게 방향을 바꾸는 것은 유턴으로 간주되지 않으며 일반적으로 피하지 않습니다.
이 기능이 개발되는 동안에는 추가 제한사항이 있습니다. 이 기능이 발전함에 따라 이러한 제한이 해제될 것으로 예상됩니다.
[null,null,["최종 업데이트: 2025-08-29(UTC)"],[[["\u003cp\u003eVehicles typically arrive and depart from locations in any direction, potentially requiring u-turns.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eavoid_u_turns\u003c/code\u003e setting prevents vehicles from changing direction at a pickup or delivery location, ensuring arrival and departure with the same heading.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eside_of_road\u003c/code\u003e setting ensures vehicles arrive and leave on the side of the road closest to the waypoint, also avoiding changes in heading.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003eavoid_u_turns\u003c/code\u003e and \u003ccode\u003eside_of_road\u003c/code\u003e can be used together to prevent u-turns while also maintaining the vehicle's position on the correct side of the road.\u003c/p\u003e\n"],["\u003cp\u003eU-turn avoidance is not supported in all travel modes, such as \u003ccode\u003eWALKING\u003c/code\u003e mode, and is also not supported when the arrival and departure locations for a delivery or pickup differ.\u003c/p\u003e\n"]]],[],null,["\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\nBy default, vehicles can arrive at a pickup or a delivery location from any\ndirection, and then leave in any direction. In some cases, this forces\nthe vehicle to make a u-turn at the visit location, which may be difficult or\nimpossible because of vehicle size, traffic signs at the location, or usual\ntraffic conditions.\n\nTo prevent vehicles from changing direction between the arrival and departure\nfor a given pickup or delivery location, you can set [`avoid_u_turns`](/maps/tt/route-optimization/experimental/u-turn-avoidance/reference/rest/v1/ShipmentModel#VisitRequest.FIELDS.avoid_u_turns) to\ntrue for this location. Under this setting, the vehicle will arrive and leave\nthe location with the same heading, thus avoiding the u-turn. On two-way roads\nthe solver will consider both directions and choose one as part of the route\noptimization.\n\nYou can also set [`side_of_road`](/maps/tt/route-optimization/experimental/u-turn-avoidance/reference/rest/v1/projects/optimizeTours#google.maps.routeoptimization.v1.Waypoint.FIELDS.bool.google.maps.routeoptimization.v1.Waypoint.side_of_road) to true to obtain a route where the vehicle\narrives and leaves on the side of the road closest to the waypoint. In this\ncase, the vehicle also does not change heading between the arrival and the\ndeparture. It is possible to set both `side_of_road` and `avoid_u_turns` to true\nto achieve the same result. For details, see [Interaction with other\nfeatures](#interaction_with_other_features).\n\nIn practice, `avoid_u_turns` should be used when it is safe to cross the road to\nget to the waypoint. Use `side_of_road` when crossing is discouraged or not\npossible.\n\nExample: Make an `OptimizeTours` request with `avoid_u_turns`\n\n`OptimizeTours` requests can be made using either [REST](/maps/tt/route-optimization/experimental/u-turn-avoidance/reference/rest/v1/projects/optimizeTours) or [gRPC](/maps/tt/route-optimization/experimental/u-turn-avoidance/reference/rpc/google.maps.routeoptimization.v1#routeoptimization).\n\nBefore making a request, replace the following parameters with values\nappropriate for your environment:\n\n- Ensure you have [Application Default Credentials](https://cloud.google.com/docs/authentication/provide-credentials-adc) configured as described in [Use OAuth](/maps/documentation/route-optimization/oauth-token).\n- Set \u003cvar label=\"project_number\" translate=\"no\"\u003ePROJECT_NUMBER_OR_ID\u003c/var\u003e to your Cloud\n project number or ID.\n\n The following command sends an `OptimizeTours` request to the Route\n Optimization API and receives a response synchronously. \n\n ```scdoc\n curl -X POST 'https://routeoptimization.googleapis.com/v1/projects/PROJECT_NUMBER_OR_ID:optimizeTours' \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $(gcloud auth application-default print-access-token)\" \\\n --data @- \u003c\u003cEOM\n {\n \"model\": {\n \"shipments\": [\n {\n \"pickups\": [\n {\n \"arrivalLocation\": {\n \"latitude\": 37.42506261000996,\n \"longitude\": -122.09535511930135\n },\n \"avoidUTurns\": true\n }\n ],\n \"deliveries\": [\n {\n \"arrivalLocation\": {\n \"latitude\": 37.42421503206021,\n \"longitude\": -122.09526063135228\n },\n \"avoidUTurns\": true\n }\n ]\n }\n ],\n \"vehicles\": [\n {\n \"travelMode\": \"DRIVING\",\n \"costPerKilometer\": 1.0\n }\n ],\n }\n }\n EOM\n ```\n | **Note:** this example uses the `--data @-` to read a request from standard input. Use `--data @`\u003cvar label=\"curl_filename\" translate=\"no\"\u003eFilename\u003c/var\u003e to read from a file.\n\nOnce the request completes, you'll receive a response message.\n\nInteraction with other features\n\n- `avoid_u_turns` can be used together with `side_of_road = true`. In this case, u-turns are avoided, but the solver selects a route that the vehicle is on the same side of the road as the waypoint, similar to setting `side_of_road = true` alone.\n- When `avoid_u_turns = true` for a certain visit request, then the `ShipmentRoute.Visit` in the corresponding response has the field `injected_solution_location_token` set. The precise meaning of its value is an implementation detail, but it encodes the information about the side of the road picked by the solver.\n- When you use a `ShipmentRoute.Visit` as part of the input request, if that `ShipmentRoute.Visit` corresponds to a `VisitRequest` in which `avoid_u_turns = true`, then `ShipmentRoute.Visit` must contain an `injected_solution_location_token` previously returned by the solver.\n\nLimitations\n\nU-turn avoidance is best effort. In certain situations, the route may still\ncontain u-turns:\n\n- `avoid_u_turns` works only with travel modes that support [`side_of_road`](/maps/tt/route-optimization/experimental/u-turn-avoidance/reference/rest/v1/projects/optimizeTours#google.maps.routeoptimization.v1.Waypoint.FIELDS.bool.google.maps.routeoptimization.v1.Waypoint.side_of_road). Specifically, it is not supported for the `WALKING` travel mode.\n- `avoid_u_turns` can't be used for pickups and deliveries where the arrival and departure are not the same.\n- When a pickup or a delivery is on a dead-end road, it is necessary to make a u-turn to leave the road.\n- The aim of this feature is avoiding u-turns at pickup and delivery locations. U-turns between waypoints are not avoided.\n- Very sharp turns to a different road are not considered u-turns, and they will generally not be avoided.\n\nThere are additional limitations while this feature is under development. We\nexpect them to be lifted as the feature evolves.\n\n- `avoid_u_turns` can't be used together with [`interpret_injected_solutions_using_labels`](/maps/tt/route-optimization/experimental/u-turn-avoidance/reference/rest/v1/projects/optimizeTours#google.maps.routeoptimization.v1.OptimizeToursRequest.FIELDS.bool.google.maps.routeoptimization.v1.OptimizeToursRequest.interpret_injected_solutions_using_labels)."]]