2011-11-16 231 views
1

我在Google Maps上工作,在創建對象數組時遇到問題,並且有一個變量持有它(對象數組)以供以後處理。嵌套在數組中的Javascript對象

var lat=new Array("12.996188333333","12.988683333333","12.99156","13.092916666667"); 
var lng=new Array("77.58392","77.57781","78.579193333333","77.594161666667"); 
var latlng = [  new google.maps.LatLng(lat[0], lng[0]) ,  
     new google.maps.LatLng(lat[1], lng[1]),  
     new google.maps.LatLng(lat[2], lng[2]),  
     new google.maps.LatLng(lat[3],lng[3])]; 

所以,經緯度持有array.This對象的(靜態),其中陣列lat和陣列LNG聲明的情況下。什麼,如果它的動態,說我有計數,但是如何創建一個動態數組的物體。我試圖循環它,但沒有results.Please幫助!

for(var i=0;i<3;i++) 
{ 
var latlng=new Array(); 
latlng[i]= new google.maps.LatLng(lat[i],lng[i]); 
} 

的console.log(經緯度)給出我: [未定義,未定義未定義,{13.092916666667,77.594161666667}]

回答

3
var lat = ["12.996188333333","12.988683333333","12.99156","13.092916666667"]; 
var lng = ["77.58392","77.57781","78.579193333333","77.594161666667"]; 

var latlng = []; 

for (var i = 0; i < lat.length; i++) 
    latlng[i] = new google.maps.LatLng(lat[i], lng[i]); 

(假設lat和LNG具有相同的長度)。

0

var latlng=new Array();for循環。此刻,您每次循環都清除陣列。

0

你可以這樣說:

var latlng = []; 
for (var i=0; i<3; i++) 
{ 
    latlng.push(new google.maps.LatLng(lat[i],lng[i])); 
} 

你需要移動數組的聲明外循環,所以它初始化一次,那麼你每次通過添加項目到數組的末尾循環。

你也不必硬編碼的長度可以:

var latlng = []; 
for (var i = 0; i < lat.length; i++) 
{ 
    latlng.push(new google.maps.LatLng(lat[i],lng[i])); 
}