【发布时间】:2021-05-09 06:22:23
【问题描述】:
我正在使用 HERE Matrix Routing API 通过提供所需的运输模式来获取位置之间的距离和持续时间。
API 采用一组起点和一组目的地,非常适合同时计算多条路线。我只是不知道如何以良好的方式映射响应。
我有 4 条路线:
- 点 1 到点 2
- 点 3 到点 4
- 第 5 点到第 6 点
- 第 7 点到第 8 点
因此,我为 API 提供了 4 个起点 (1,3,5,7) 和 4 个目的地 (2,4,6,8) 的纬度和经度。 我在响应中得到一个包含距离的数组,其中 12 个。
现在我如何以良好的方式编写可以为我的 4 条路线拉出距离的逻辑?
这里有文档说:
每个数组代表一个二维矩阵,其中行对应于起点,列对应于目的地。数组中的第 k 个位置对应于由以下定义的矩阵中的 (i, j) 位置 关系:k = num_destinations * i + j
https://developer.here.com/documentation/matrix-routing-api/8.3.0/api-reference-swagger.html
示例请求:
{
"origins": [
{
"lat": 52.5309,
"lng": 13.3849
},
{
"lat": 52.5202,
"lng": 13.373
}
],
"destinations": [
{
"lat": 52.522,
"lng": 13.4133
},
{
"lat": 52.5163,
"lng": 13.3777
}
],
"regionDefinition": {
"type": "world"
}
}
示例响应:
{
"matrixId": "bc79a808-dbac-4e49-88f2-27ec66a473ef",
"matrix": {
"numOrigins": 1,
"numDestinations": 2,
"travelTimes": [
1231,
983
],
"distances": [
109,
10
]
},
"regionDefinition": {
"type": "circle",
"center": {
"lat": 52.53787,
"lng": 13.40896
},
"radius": 10000
}
}
我非常感谢一些帮助拉开距离。我将请求许多不同的路线,但我并不总是知道数量,所以我需要一个动态的解决方案。
【问题讨论】: