Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/google-maps/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google maps 谷歌矩阵没有以英里为单位返回值?_Google Maps_Google Maps Api 3 - Fatal编程技术网

Google maps 谷歌矩阵没有以英里为单位返回值?

Google maps 谷歌矩阵没有以英里为单位返回值?,google-maps,google-maps-api-3,Google Maps,Google Maps Api 3,我一直在努力让谷歌矩阵以英里为单位返回回复。api似乎将文本返回为英里,但将值返回为公里。我错过什么了吗?我的代码如下。我还攻击了响应的屏幕截图 根据我使用谷歌地图的经验,值总是以米为单位,可能是出于标准化的原因。因此,单位名称仅指返回的文本,而不是物理距离 解决方案 将米除以1609.34 使用parseFloat(value.replace('mi',''),尽管这不太准确 这就是问题所在 距离矩阵结果 距离:此路线的总距离,以米(值)和文本表示文本值根据请求中指定的单位系统进行格式化(如

我一直在努力让谷歌矩阵以英里为单位返回回复。api似乎将文本返回为英里,但将值返回为公里。我错过什么了吗?我的代码如下。我还攻击了响应的屏幕截图


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

解决方案

  • 将米除以1609.34
  • 使用
    parseFloat(value.replace('mi','')
    ,尽管这不太准确
  • 这就是问题所在

    距离矩阵结果

    距离:此路线的总距离,以米(值)和文本表示文本值根据请求中指定的单位系统进行格式化(如果未提供首选项,则采用公制)。


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

    我遇到了类似的问题。我误解了单位系统文档:单位-指定将距离表示为文本时使用的单位系统…单位系统-注意:距离字段还包含始终以米表示的值。我没有意识到这个值总是以米为单位。
    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);
    }