2014-07-17 29 views
0

我正在循環以從谷歌方向獲取長/拉特的負載。然而,longArr和latArr永遠只能在在最後一個結果,就好像使用var每次每次循環翻轉變量

function showSteps(directionResult) { 
      // For each step, place a marker, and add the text to the marker's 
      // info window. Also attach the marker to an array so we 
      // can keep track of it and remove it when calculating new 
      // routes. 
      var myRoute = directionResult.routes[0].legs[0]; 
      var longArr = ""; 
      var latArr = ""; 
      for (var i = 0; i < myRoute.steps.length; i++) { 
       var Long = myRoute.steps[i].lat_lngs[0].B; 
       var Lat = myRoute.steps[i].lat_lngs[0].k; 
       longArr = Long + Long + "|"; 
       latArr = Lat + Lat + "|"; 
       alert(longArr); 
       var marker = new google.maps.Marker({ 

        position: myRoute.steps[i].start_location, 
        map: map 
       }); 
       attachInstructionText(marker, myRoute.steps[i].instructions); 

       markerArray[i] = marker; 
      } 

      $('.long').val(longArr); 
      $('.lat').val(latArr); 

     } 
+1

這是真的,每次你重新申報'longArr'和'latArr '。在'longArr'和'latArr'之後加上'+ =',而不是'=' – u54r

回答

0

首先需要聲明的數組作爲數組。

var longArr = []; 
var latArr = []; 

然後,你需要追加到他們

longArr.push(Long + Long); 
latArr.push(Lat + Lat); 

當寫入陣列出字符串中使用join

$('.long').val(longArr.join('|')); 
$('.lat').val(latArr.join('|'); 
0

要與你來串聯變量太多字符串的現有值連接得到清除。

選項1:

longArr = longArr + Long + Long + "|" ; 
latArr = latArr + Lat + Lat + "|"; 

選項2:

longArr += Long + Long + "|" ; 
latArr += Lat + Lat + "|";