距離の短いルートを有効にすると、Compute Routes は移動距離が短くなるように最適化された自動車ルートを返します。
距離の短いルートをリクエストすると、サービスは次のものを返します。
- デフォルト ルート。主に到着予定時刻を最適化したルートです。
- 移動距離を最小限に抑えるように最適化された短いルート。
概要と使用する理由
距離の短いルートでは、運転の快適さや速度よりも距離が優先されます。たとえば、高速道路ではなく一般道路を優先したり、未舗装道路を通ったり、駐車場を横切ったりすることがあります。Google マップが違法と認識している操作は返されません。
距離の短いルートをリクエストする
リクエストは次の条件を満たす必要があります。
travelModeをDRIVE、BICYCLE、TWO_WHEELERのいずれかに設定します。requestedReferenceRoutesをSHORTER_DISTANCEに設定します。- レスポンス フィールド マスクを設定して、距離の短いルートに関連付けられたレスポンス プロパティを返します。
routes.routeLabels: 各ルートをDEFAULT_ROUTE、SHORTER_DISTANCE、またはDEFAULT_ROUTE_ALTERNATEのいずれかとして識別します。routes.routeToken: Navigation SDK に渡してカスタムルートを取得できるルートトークン。
- Via の中間経由地は
Via**含めないでください** 。 - 含めないでください、
optimizeWaypointOrderパラメータ。 - __省略可:__ レスポンス フィールド マスクを設定して、デフォルト ルートと距離の短いルートの両方に関連付けられた次のプロパティを返します。
routes.distanceMeters: ルートの距離を返します。routes.duration: ルートの所要時間を返します。
リファレンス情報については、 ReferenceRoute と RouteLabelをご覧ください。
リクエストの例: 距離の短いルート
次のコードは、距離の短いルートのリクエストを示しています。この例では、レスポンス フィールド マスクを使用して、次のフィールド マスクでデフォルト ルートと距離の短いルートの両方に関連付けられたフィールドを返します。
routes.distanceMetersroutes.duration
curl -X POST -H 'content-type: application/json' -d '{ "origin": { "location": { "latLng": { "latitude": 41.76904801292959, "longitude": -72.67374935684933 } } }, "destination": { "location": { "latLng": { "latitude": 41.823042361105024, "longitude": -71.40933143059424 } } }, "travelMode":"DRIVE", "routingPreference":"TRAFFIC_AWARE", "requestedReferenceRoutes": ["SHORTER_DISTANCE"], }' \ -H 'Content-Type: application/json' -H 'X-Goog-Api-Key: YOUR_API_KEY \ -H 'X-Goog-FieldMask: routes.distanceMeters,routes.duration,routes.routeLabels,routes.routeToken' \ 'https://routes.googleapis.com/directions/v2:computeRoutes'
距離の短いルートのレスポンスの例
{
"routes": [
{
"distanceMeters": 138943,
"duration": "5373s",
"routeToken": "CrsCCs4BMssBGq8BCkECFg9eN0MowaEI3Y4KqMEhzOTe-Qi3947kBsb8koUBkvX0oAKJ_b1S4uPoUvzzAYfXA92t_RXyw98Up6qKAaRaABIsNBjodKMdkMYAPMLMIajCwj-zsIxpgyBxOLYjdBBeKgkO3tFDDrj4YgZB5bMaFQAATME12CCCA9MEF-kO2wL_____DyoLHgAOAHN3DggAQQEyBAUBAQM9VDgqPkV88FI_SNO81oLq4JnjYyIXcklWWFo2cjhDZmltdk9NUDQ3aU1nUU0QBRpPCk0KGAoNCgIIAREAAAAAAIBmQBF56SYxqDm4QBISCAAQAxAGEBMQEhgCQgQaAggFIhsKF3JJVlhaLWFOQnZpbXZPTVA0N2lNZ1FNcAEoASIVAACBmRY1BjeCiUQewJGTrQ3DuHRp",
"routeLabels": [
"DEFAULT_ROUTE"
]
},
{
"distanceMeters": 112610,
"duration": "7165s",
"routeToken": "CqgCCrsBMrgBGpwBCjYCFg1SN0MowaEI3Y4KjfqjF6Ls9BXc-QGiqCOpu7FDtfCXxSG2zLOGI_r4uQGc-we_nQ7MLAASLDQY6HSjHZDGg26EAFrPI5Q3NxvGA4ELazy3sLYqno_9eAFD2KxlCqAGQeWzGg4AAMQDGwyiAqwwKQggJCoLHgBsCQ8Acm0XWWcyAgQGPVQ4Kj5FfPBSP0jikPWC95WdhIwBIhdySVZYWjZHR0RiTzV2T01QOUpiQXlBTRAFGk8KTQoYCg0KAggCEQAAAAAAAFlAEU5iEFh5af1AEhIIABADEAYQExASGAJCBBoCCAUiGwoXcklWWFo3S09Cck81dk9NUDlKYkF5QU1wASgCIhUAAIGZFlj_CmMgGE6KGZcsE-tEywM",
"routeLabels": [
"SHORTER_DISTANCE"
]
}
]
}
リクエストの例: 距離が短く燃費の良いルート
次のコードは、距離の短いルートと燃料効率が良いルートの両方のリクエストを示しています。
`
curl -X POST -d '{ "origin": { "location": { "latLng": { "latitude": 41.76904801292959, "longitude": -72.67374935684933 } } }, "destination": { "location": { "latLng": { "latitude": 41.823042361105024, "longitude": -71.40933143059424 } } }, "travelMode":"DRIVE", "routingPreference":"TRAFFIC_AWARE_OPTIMAL", "requestedReferenceRoutes": ["SHORTER_DISTANCE", "FUEL_EFFICIENT"] }'
-H 'Content-Type: application/json'
-H 'X-Goog-Api-Key: YOUR_API_KEY'
-H 'X-Goog-FieldMask: routes.distanceMeters,routes.duration,routes.routeLabels,routes.routeToken'
'https://routes.googleapis.com/directions/v2:computeRoutes'
レスポンスの例: 距離が短く燃料効率が良いルート
この場合、距離が短く燃料効率が良いルートは同じであるため、そのルートが返され、両方のルートタイプに routeLabel が含まれます。
{ "routes": [ { "distanceMeters": 138943, "duration": "5375s", "routeToken": "Cr8CCs4BMssBGq8BCkECFg9eN0MowaEI3Y4KqMEhzOTe-Qi3947kBsb8koUBkvX0oAKJ_b1S4uPoUvzzAYfXA92t_RXyw98Up6qKAaRaABIsNBjodKMdkMYAPMLMIajCwj-zsIxpgyBxOLYjdBBeKgkO3tFDDrj4YgZB5bMaFQAATME12CCCA9MEF-kO2wL_____DyoLHgAOAHN3DggAQQEyBAUBAQM9VDgqPkV88FI_SNO81oLq4JnjYyIXS1laWFo4T19JcWVCM2ZFUDFMbms4UXcQBRpTClEKGAoNCgIIAREAAAAAAIBmQBFOYhBYGTy4QBIWCAAQAxAGEBMQEhgCQgQaAggFSgIIASIbChdLWVpYWjlpV0g2ZUIzZkVQMUxuazhRd3ABKAEiFQAAgZkW4Df4cspNNJZWlMZuUUxLPQ", "routeLabels": [ "DEFAULT_ROUTE" ] }, { "distanceMeters": 112610, "duration": "7156s", "routeToken": "CqwCCrsBMrgBGpwBCjYCFg1SN0MowaEI3Y4KjfqjF6Ls9BXc-QGiqCOpu7FDtfCXxSG2zLOGI_r4uQGc-we_nQ7MLAASLDQY6HSjHZDGg26EAFrPI5Q3NxvGA4ELazy3sLYqno_9eAFD2KxlCqAGQeWzGg4AAMQDGwyiAqwwKQggJCoLHgBsCQ8Acm0XWWcyAgQGPVQ4Kj5FfPBSP0jikPWC95WdhIwBIhdLWVpYWi1UNklfT055OVlQczhhcWlRSRAFGlMKUQoYCg0KAggCEQAAAAAAAFlAEU5iEFh5af1AEhYIABADEAYQExASGAJCBBoCCAVKAggBIhsKF0tZWlhaNERXSF9PTnk5WVBzOGFxaVFJcAEoAiIVAACBmRaESp2EJS5nmwiEF8KH15_f", "routeLabels": [ "FUEL_EFFICIENT", "SHORTER_DISTANCE" ] } ] }
サポートされるリージョン
距離の短いルートはすべてのリージョンでサポートされています。
課金
Google Maps Platform では、試験運用版機能の使用に追加料金は発生しません。設定した他のパラメータに基づいて、API の使用量に応じて課金されます。
Routes API の課金 の詳細をご覧ください。