谷歌矩阵没有返回里程值?

时间:2015-07-15 21:42:17

标签: google-maps google-maps-api-3

我一直试图让谷歌矩阵以英里为单位返回响应。 api似乎将文本返回为英里,但值为KM。我错过了什么吗?我的代码如下。我还攻击了响应的屏幕截图 http://i.stack.imgur.com/MlHl1.png

function calculateDistances() {
  var postcode= $('#postcode-check').val();
  var service = new google.maps.DistanceMatrixService();
  service.getDistanceMatrix({
    origins: ['NW6 1HR'],
    destinations: [postcode],
    travelMode: google.maps.TravelMode.DRIVING,
    unitSystem: google.maps.UnitSystem.IMPERIAL,
    avoidHighways: false,
    avoidTolls: false,
  }, callback);
}

2 个答案:

答案 0 :(得分:2)

那是documented behavior

距离矩阵结果

  

距离:此路线的总距离,以米(值)表示,并作为文字。 根据请求中指定的unitSystem格式化文本值(如果未提供首选项,则采用公制格式。)

您可以将value以米为单位转换为您喜欢的单位制。

答案 1 :(得分:1)

根据我使用Google地图的经验,value 总是以米为单位,可能出于标准化原因。因此,单位指定仅指返回的文本,而不是物理距离。

<强>解决方案

  1. 将米除以1609.34。
  2. 使用parseFloat(value.replace(' mi','')),但这不会那么准确。