簡體   English   中英

Google Maps Distance Matrix API Rounding JS API v3

[英]Google Maps Distance Matrix API Rounding JS API v3

我有一個像我在標題中提到的問題。 請先看看底部的圖像。 130米

在這張圖片中你可以很容易地看到它是130米,但如果我使用距離矩陣API它顯示0.1公里,

180米

這里是180米,但距離矩陣API顯示0.2公里。 這兩個谷歌怎么會有所不同..

這是我的代碼來獲得距離:

 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+"&";
        }
}
}

任何幫助,將不勝感激

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

有關示例,請參閱https://developers.google.com/maps/documentation/javascript/distancematrix#distance_matrix_responses ,在文本中,它是四舍五入的,但該值以米為單位精確顯示距離。

圖I我發布這個以防萬一它可能在將來幫助某人。 如果你想顯示km或m:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM