2014-03-31 81 views
0

我正在嘗試創建一個循環,在該循環中爲Google地圖創建多個標記。我希望這些標記被命名爲marker + int。我無法合併2個變量名稱,因此我需要另一種方法來完成此操作。誰能幫我嗎?我沒有一個數組通過循環......在javascript中合併兩個變量名稱

var counter = 0; 

for (var i = 0; i < localStorage.length; i++){ 
    counter++; 
    var marker = new google.maps.Marker({ 
     position: myLatlng, 
     map: map, 
     icon: image, 
     shadow: shadow, 
     title: label 
    }); 
} 
+0

的可能重複[JavaScript的:動態創建變量循環(http://stackoverflow.com/questions/6645067/javascript-dynamically-creating-variables-for-loops) –

回答

3

怎麼樣來定義array和迭代雖然它喜歡:

var marker = []; 

for (var i = 0; i < localStorage.length; i++) { 
    marker[i] = new google.maps.Marker({ 
     position: myLatlng, 
     map: map, 
     icon: image, 
     shadow: shadow, 
     title: label 
    }); 
} 

可以輸出結果從 array簡單的就像

for (var j = 0; j < marker.length; j++) { // output all the information from marker array 
    console.log(marker[j].position); 
    console.log(marker[j].map); 
    console.log(marker[j].icon); 
    console.log(marker[j].shadow); 
    console.log(marker[j].title); 
} 

注意:counter變量不需要,因爲你讀取y具有這是由i變量循環

+0

你的答案是構建一個數組。但是我也必須循環才能讓這些標記出現在gmaps中,對嗎? –

+0

@FrankKluytmans由於從數組中檢索信息是的,你必須爲它創建另一個循環 – tnanoba

+0

我將如何在for循環中輸出標記? –

0

內代表計數器您的對象或數組

var markers = []; 
for (var i=0; i<10; i++) { 
    markers[i] = "Hello"; 
} 

如果你想有名稱,而不是使用對象

var obj = {}; 
for (var i=0; i<10; i++) { 
    obj["marker" + i] = "Hello"; 
} 
0

也許你可以把所有制造商都放在一個對象中

var myObject = []; 
myObject.push(marker);