【问题标题】:Google Maps Distance Matrix API Rounding JS API v3谷歌地图距离矩阵 API 舍入 JS API v3
【发布时间】:2013-06-25 09:43:48
【问题描述】:

我有一个问题,就像我在标题中提到的那样。请先看底部的图片。

在这张图片中,您可以很容易地看到它是 130 米,但如果我使用距离矩阵 API,它会显示 0.1 公里,

这里是 180 米,但它在距离矩阵 API 中显示 0.2 公里。都是google 怎么会不一样。。

这是我获取距离的代码:

 var service = new google.maps.DistanceMatrixService();
    service.getDistanceMatrix(
      {
          origins: startArray, //LatLng Array
          destinations: finishArray, //LatLng Array
          travelMode: google.maps.TravelMode.DRIVING,
          unitSystem: google.maps.UnitSystem.METRIC,
          avoidHighways: false,
          avoidTolls: false
      }, callback);

function callback(response, status) {
    if (status != google.maps.DistanceMatrixStatus.OK) {
        alert('Error was: ' + status);
    } else {
        var origins = response.originAddresses;
        var destinations = response.destinationAddresses;

        for (var i = 0; i < origins.length; i++) {
            var results = response.rows[i].elements;
                console.log(results[i].distance.text);
                document.getElementById('ctl00_MainContent_hidSpeed').value += results[i].distance.text+"&";
        }
}
}

任何帮助将不胜感激

【问题讨论】:

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


    【解决方案1】:

    只需使用results[i].distance.value 而不是text

    https://developers.google.com/maps/documentation/javascript/distancematrix#distance_matrix_responses 为例,在文本中,它是四舍五入的,但该值以米为单位准确显示距离。

    【讨论】:

    • 非常感谢你救了我。
    【解决方案2】:

    图我会发布此内容,以防将来对某人有所帮助。如果您想显示 km 或 m:

    var distance = results[i].distance.value
    if (distance < 1000){
        distance = results[i].distance.value + ' m';                    
    } else {
        distance = results[i].distance.text;
    }
    

    【讨论】:

      猜你喜欢
      • 2017-04-11
      • 2017-12-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多