我正在阅读谷歌地图距离矩阵响应,我无法理解当只有两个源 - 目的地对时,响应如何有四个距离。以下内容来自文档。我以前使用过API,但没有使用此特定服务。请澄清。可能是我在这里缺少一些基本的东西。
{
"origin_addresses": [ "Greenwich, Greater London, UK", "13 Great Carleton Square, Edinburgh, City of Edinburgh EH16 4, UK" ],
"destination_addresses": [ "Stockholm County, Sweden", "Dlouhá 609/2, 110 00 Praha-Staré Město, Česká republika" ],
"rows": [ {
"elements": [ {
"status": "OK",
"duration": {
"value": 70778,
"text": "19 hours 40 mins"
},
"distance": {
"value": 1887508,
"text": "1173 mi"
}
}, {
"status": "OK",
"duration": {
"value": 44476,
"text": "12 hours 21 mins"
},
"distance": {
"value": 1262780,
"text": "785 mi"
}
} ]
}, {
"elements": [ {
"status": "OK",
"duration": {
"value": 96000,
"text": "1 day 3 hours"
},
"distance": {
"value": 2566737,
"text": "1595 mi"
}
}, {
"status": "OK",
"duration": {
"value": 69698,
"text": "19 hours 22 mins"
},
"distance": {
"value": 1942009,
"text": "1207 mi"
}
} ]
} ]
文档说明,我引用:
响应中支持的字段说明如下。
originAddresses是一个数组,包含在距离矩阵请求的originins字段中传递的位置。地址由地理编码器格式化后返回。 destinationAddresses是一个数组,包含目标字段中传递的位置,格式为地理编码器返回的格式。
rows是DistanceMatrixResponseRow对象的数组,每行对应一个原点。
元素是行的子元素,对应于行的原点与每个目标的配对。它们包含每个始发地/目的地对的状态,距离和持续时间信息。
每个元素的距离,持续时间和duration_in_traffic字段包括一个值(总是以米或秒显示)和一个文本字段,它提供了一个人类可读的信息版本。距离的文本值根据请求中指定的unitSystem进行格式化(如果未提供首选项,则以度量为单位)。
答案 0 :(得分:2)
您上面给出的示例显示了两个来源和两个目的地,它们没有配对。每个行响应对应一个原点,每个元素是从该原点到目的地的路径。
在上面的示例中,它返回格林威治到斯德哥尔摩县和捷克共和国的距离,然后是从爱丁堡到斯德哥尔摩县和捷克共和国的距离。所以从A点到C和D的距离,然后从B点到C和D的距离。
这会澄清一些事情吗?