デフォルトでは、Routes API は Compute Routes
メソッドは、複数の停車地を通るルート(経由地のウェイポイント)を計算します。
指定順に配置できます。
Routes API では、指定されたルートを再配置して、 経由するようになります地点の最適化による移動の最適化 距離や曲がり角などの要素も考慮されます 最も効率的なルートを決定します
地点を最適化するため
ルート上のどの地点も
via
をtrue
に設定していないことを確認します。 例:{"address": "Clare,SA", "via": true}
。詳細については、このモジュールの 中間ウェイポイントについては、 中間地点を指定します。routing_preference
がTRAFFIC_AWARE_OPTIMAL
に設定されていないことを確認します。optimize_waypoint_order
をtrue
に設定します。例:"optimizeWaypointOrder": "true",
フィールドに
routes.optimizedIntermediateWaypointIndex
フィールドを指定する mask:REST
-H X-Goog-FieldMask: routes.optimizedIntermediateWaypointIndex
RPC
const (fieldMask = "routes.optimizedIntermediateWaypointIndex")
地点の順序の最適化方法を理解する
Routes API がルート内のウェイポイントの順序を最適化する仕組みは次のとおりです。
指定した順序に基づいて、ウェイポイントを自動的にインデックスに登録します 0 から始まります。
インデックス番号を使用してウェイポイントの順序を最適化 リクエスト内のウェイポイントに割り当てられます。
routes
オブジェクト内で最適化されたウェイポイントの順序を返します。routes.optimizedIntermediateWaypointIndex
の下にあるwaypoint_order
フィールド。
例
このリクエストは、南オーストラリア州アデレードからのルートの最適化を要求しています。 南オーストラリアの主要ワイン各地域に送られ その後アデレードに戻ってきました
curl -X POST -H 'content-type: application/json' -d ' { "origin": { "address": "Adelaide,SA" }, "destination": { "address": "Adelaide,SA" }, "intermediates": [ {"address": "Barossa+Valley,SA"}, {"address": "Clare,SA"}, {"address": "Connawarra,SA"}, {"address": "McLaren+Vale,SA"} ], "travelMode": "DRIVE", "optimizeWaypointOrder": "true" }' \ -H 'Content-Type: application/json' \ -H 'X-Goog-Api-Key: YOUR_API_KEY' \ -H 'X-Goog-FieldMask: routes.optimizedIntermediateWaypointIndex' \ 'https://routes.googleapis.com/directions/v2:computeRoutes'
Routes API は、 0 からスタートします。例:
0 {"address": "Barossa+Valley,SA"}, 1 {"address": "Clare,SA"}, 2 {"address": "Connawarra,SA"}, 3 {"address": "McLaren+Vale,SA"}
リクエストで指定された 4 つのウェイポイントのインデックス番号を使用すると、 サービスは最適化された順序を返します。
"optimizedIntermediateWaypointIndex": [ 3, 2, 0, 1 ]