在javascript中将两个变量名称合并在一起

时间:2014-03-31 19:35:14

标签: javascript google-maps

我正在尝试创建一个循环,为Google地图创建多个标记。我希望这些标记命名为marker + int。我找不到合并2个变量名,所以我需要另一种方法来做到这一点。谁能帮我吗?我没有要循环的数组...

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
    }); 
}

3 个答案:

答案 0 :(得分: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
    }); 
}

您可以简单地输出marker 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变量不需要,因为您已经拥有了一个由循环内的i变量表示的计数器

答案 1 :(得分: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";
}

答案 2 :(得分:0)

也许你可以将所有制造商放在一个对象中。

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