2016-03-24 5 views
0

複数の脚がある場合、各脚について報告される距離は同じです。どんな考え?最初の2本の足の間の距離は正しく表示されますが、1本おきの足の間隔は1本目の足と同じです。おそらくこの時点ではカフェインしすぎているかもしれませんが、なぜ私は見ることができません。ここでgetRoutesの古い値を返すgmaps.js

はコードです:あなたの時間を無駄に皆のための

function marker(map, lat, lng, title, name) { 
map.addMarker({ 
    lat: lat, 
    lng: lng, 
    title: title, 
    click: function (e) { 

     legs.push({destination: name, latitude: lat, longitude: lng, distance: null, time: null}); 

     var next_stop; 

     if (legs.length > 1) 
     { 
      $.each(legs, function (index, value) 
      { 
       // Mileage In Between 
       if (legs[(index + 1)]) 
       { 
        next_stop = legs[(index + 1)]; 

       map.getRoutes(
        { 
         origin: [value.latitude, value.longitude], 
         destination: [next_stop.latitude, next_stop.longitude], 
         callback: function (e) 
         { 
          var time = 0; 
          var distance = 0; 
          for (var i=0; i<e[0].legs.length; i++) 
          { 
           time += e[0].legs[i].duration.value; 
           distance += e[0].legs[i].distance.value; 
          } 

          var miles = distance/1609.34; 

          var kilometers = distance/1000; 

          var timer = time/60; 

          legs[(index + 1)].distance = miles.toFixed(2); 

          alert(timer.toFixed(2) + " and " + miles.toFixed(2)); 
         } 
        } 
       ); 
      } 

      } 
      ); 
     } 

     console.log(legs); 

     a.$set('stops', legs); 

    } 
}); 
} 
+0

問題を示す[最小、完全、テスト済みおよび読み取り可能な例](http://stackoverflow.com/help/mcve)を入力してください。 – geocodezip

+0

は、var距離とマイル計算を地図のコールバックから関数の先頭に移動しないでください。コールバックは毎回1つの距離だけ戻しますが、すべての足を合計したいとしますか? –

+0

はい、マイレージ計算は後で削除されます。はい、私は毎回(脚)ではなく、足で距離をしたいです。 – Jafo

答えて

1

申し訳ありません。

if (options.callback) { 
    options.callback(self.routes, result, status); 
    } 

とに置き換えます:

if (options.callback) { 
    options.callback(result.routes, result, status); 
    } 
修正がgmaps.jsでこのコードを見つけることです

https://github.com/hpneo/gmaps/issues/373

:どうやらこれはgmap.jsで知られ、非固定バグです

関連する問題