2016-03-24 22 views
0

Birden fazla bacak varsa, her bacak için bildirilen mesafe aynıdır. Bir fikrin neden? İlk iki bacak arasındaki mesafeyi bildirir, ancak diğer bacakların arasındaki mesafe ilk ayak ile aynıdır. Muhtemelen bu noktada fazla kafeinli, ama nedenini göremiyorum. Saat herkesi israf içingmaps.js getRoutes için eski değeri döndürüyor

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

Lütfen sorunu gösteren bir [Minimal, Tam, Test Edilebilir ve Okunabilir Örnek] (http://stackoverflow.com/help/mcve) belirtin. – geocodezip

+0

, var mesafesi ve mil hesaplaması, fonksiyonun başlangıcına harita geri dönüşünden çıkarılmamalıdır. Geri arama her seferinde sadece bir mesafe geri döner, ancak tüm ayakları toplamak ister misiniz? –

+0

Evet, kilometre hesaplamaları daha sonra taşınacaktır. Evet, her seferinde bir mesafe istiyorum (bacak), bir toplam değil. – Jafo

cevap

1

Maalesef: Burada

kodudur.

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

Ve ile değiştirin:

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

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

düzeltme gmaps.js Bu kodu bulmaktır: Görünüşe bu gmap.js ile bilinen, sabitlenmemiş hata

İlgili konular