需要在Google Maps DistanceMatrixResponse上进行说明

时间:2014-01-22 13:28:59

标签: google-maps

我正在阅读谷歌地图距离矩阵响应,我无法理解当只有两个源 - 目的地对时,响应如何有四个距离。以下内容来自文档。我以前使用过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进行格式化(如果未提供首选项,则以度量为单位)。

1 个答案:

答案 0 :(得分:2)

您上面给出的示例显示了两个来源和两个目的地,它们没有配对。每个行响应对应一个原点,每个元素是从该原点到目的地的路径。

在上面的示例中,它返回格林威治到斯德哥尔摩县和捷克共和国的距离,然后是从爱丁堡到斯德哥尔摩县和捷克共和国的距离。所以从A点到C和D的距离,然后从B点到C和D的距离。

这会澄清一些事情吗?