2012-03-13 33 views
0

我想了很长的JavaScript代码转换成一个单一的“for循环:从A点到B点,我做了什么错,这是一个调用谷歌地图标记,每个标记使用的是不同的内容和位置,但它们共享相同的图标,阴影...... A点以下:结合长期的JavaScript到一个

var mappro1 = new google.maps.Marker({ 
        position: map1, 
        map: map, 
        icon: companyImage, 
        shadow: companyShadow, 
        title:"c", 
        zIndex: 4 
      }); 
      var mappro2 = new google.maps.Marker({ 
        position: map2, 
        map: map, 
        icon: companyImage, 
        shadow: companyShadow, 
        title:"c", 
        zIndex: 4 
      }); 
      var mappro3 = new google.maps.Marker({ 
        position: map3, 
        map: map, 
        icon: companyImage, 
        shadow: companyShadow, 
        title:"c", 
        zIndex: 4 
      }); 
      var mappro4 = new google.maps.Marker({ 
        position: map4, 
        map: map, 
        icon: companyImage, 
        shadow: companyShadow, 
        title:"c", 
        zIndex: 4 
      }); 
      var mappro5 = new google.maps.Marker({ 
        position: map5, 
        map: map, 
        icon: companyImage, 
        shadow: companyShadow, 
        title:"c", 
        zIndex: 4 
      }); 
      var mappro6 = new google.maps.Marker({ 
        position: map6, 
        map: map, 
        icon: companyImage, 
        shadow: companyShadow, 
        title:"c", 
        zIndex: 4 
      }); 
      var mappro7 = new google.maps.Marker({ 
        position: map7, 
        map: map, 
        icon: companyImage, 
        shadow: companyShadow, 
        title:"c", 
        zIndex: 4 
      }); 
      var mappro8 = new google.maps.Marker({ 
        position: map8, 
        map: map, 
        icon: companyImage, 
        shadow: companyShadow, 
        title:"c", 
        zIndex: 4 
      }); 
      var mappro9 = new google.maps.Marker({ 
        position: map9, 
        map: map, 
        icon: companyImage, 
        shadow: companyShadow, 
        title:"c", 
        zIndex: 4 
      }); 

B点所示:

  for ($i=1; $i <10; $i++){ 

       var $mappros = "mappro" + $i; 
       var $mappos = "map" + $i; 

       var mappros = new google.maps.Marker({ 
        position: $mappos, 
        map: map, 
        icon: companyImage, 
        shadow: companyShadow, 
        title:"$i", 
        zIndex: $i 
       }); 
      }; 
+0

变量$ mappros是否真的需要? – 2012-03-13 08:38:21

+1

不是你写的是什么问题...什么是'图{X}'???价值,而且有事情是不是一种平等的夫妻,像'title'和'zIndex'正在改变** B **但在** A中不发生变化** – gdoron 2012-03-13 08:38:40

+0

您在'for loop'中重新声明'mappros'。尝试将新的Marker对象附加到在'for循环之外声明的数组。 – Stefan 2012-03-13 08:48:10

回答

1

这是根据我的代码回路的变种在答:

var mappros = []; 
for (var $i = 1; $i < 10; $i++){ 
    var mappro = new google.maps.Marker({ 
     position: "map" + $i, 
     map: map, 
     icon: companyImage, 
     shadow: companyShadow, 
     title: "c", 
     zIndex: 4 
    }); 
    mappros.push(mappro); 
}; 

所以,你会得到的mappro数组访问任何然后通过指数。如果你需要为每个mappro单独的名称,你应该用这个替换标题行:

title: $i,