默认情况下,Routes 库 computeRoutes 方法会按照您提供的顺序计算经过多个停靠点(称为中途停留点)的路线。
您可以让路线 API 通过重新排列站点顺序来优化提供的路线,从而提高效率。路径点优化不仅优化了旅行时间,还会考虑距离和转弯次数等其他因素,从而决定哪条路线最有效率。
优化航点
- 确保路线中的所有途经点的
via均未设置为true。 - 确保
routingPreference未设置为TRAFFIC_AWARE_OPTIMAL。 - 将
optimizeWaypointOrder设置为true。 - 在字段掩码中指定
optimizedIntermediateWaypointIndices字段。
了解如何优化途经点顺序
以下是 Routes API 如何优化路线中途点的顺序:
- 根据您在请求中提供的顺序自动对航点进行索引,从 0 开始。
- 使用分配给请求中航点的索引号优化航点的顺序。
- 在响应中的
optimizedIntermediateWaypointIndices下返回优化后的航点顺序。
示例请求
以下示例展示了如何请求从南澳大利亚州阿德莱德到南澳大利亚州每个主要葡萄酒产区的路线中的优化途经点,然后返回阿德莱德。
const request = { origin: 'Adelaide, SA', destination: 'Adelaide, SA', intermediates: [ {location: "Barossa+Valley,SA"}, {location: "Clare,SA"}, {location: "Coonawarra,SA"}, {location: "McLaren+Vale,SA"}, ], travelMode: 'DRIVING', optimizeWaypointOrder: true, fields: ['path','optimizedIntermediateWaypointIndices'], };
示例响应
响应包括optimizedIntermediateWaypointIndices。
Response: [ { "optimizedIntermediateWaypointIndices": [ 3, // McLaren+Vale, SA 2, // Coonawarra, SA 0, // Barossa+Valley, SA 1 // Clare, SA ], ...