1

タイトルで述べたような問題があります。最初に下の画像をご覧ください。 130メートル

この画像では、130 メートルであることが簡単にわかりますが、Distance Matrix API を使用すると、0.1 KM と表示されます。

180メートル

ここでは 180 メートルですが、距離マトリックス API では 0.2 KM を示しています。それは両方ともグーグルです。どう違うのでしょうか..

そして、これが距離を取得するための私のコードです:

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

どんな助けでもいただければ幸いです

4

2 に答える 2

0

将来誰かに役立つ可能性がある場合に備えて、これを投稿します。km または m を表示したい場合:

var distance = results[i].distance.value
if (distance < 1000){
    distance = results[i].distance.value + ' m';                    
} else {
    distance = results[i].distance.text;
}
于 2015-12-10T21:33:13.180 に答える