【发布时间】:2010-06-04 21:13:57
【问题描述】:
我正在尝试在循环中定义变量。我将代码放在这里,然后尝试解释更多:
for (var k=0; k<nodes.length; k++){
this[node+k] = new google.maps.Marker({
position: new google.maps.LatLng(array1[k], array2[k]),
map: map,
title: node[k],
icon: "some image file"
});
}
我想创建一个变量列表,这些变量将被命名为一个已定义的数组(名称数组在上面的代码中称为节点)。所以在这个循环中,我想定义一个新变量“this[node+k]”来创建一个新的 google.maps.marker 变量。
目的是为我正在尝试编写的一些管理软件在自定义谷歌地图上制作一堆带有弹出窗口的标记。
我确定必须有某种方法可以做到这一点,因为我看到了其他用于在循环中定义变量的代码(当然我再也找不到... :( )。但是,正在定义的变量的名称在循环中没有取自另一个数组(就像我的一样)。
我不想创建 var1、var2、var3。我看到了如何做到这一点。我想使用数组中的名称创建这些变量。
如果问题仍然不清楚,我深表歉意,但感谢到目前为止的帮助。我有一种感觉,这可能是谷歌地图代码也混淆了这种情况。所以这里是定义谷歌地图标记变量的原始方法:
var NAME1= new google.maps.Marker({
position: new google.maps.LatLng(29.70600, -95.28159), // coordinates
map: map,
title:"NAME1", // marker title
icon: "http://127.0.0.1/public_html/tower.gif" // icon
});
我现在的代码只是重复此代码 20 多次以定义所有不同的变量。我想尝试将这一切放入一个 for 循环中,并使用数组中的名称定义变量。
【问题讨论】:
-
你能更好地解释一下吗?我不知道你真正想要达到什么目的。 IE。您当前的代码有什么问题?
-
你想动态创建X个变量吗?不可能。
-
groups.google.com/group/google-maps-js-api-v3/browse_thread/… 我想我会将此链接添加给任何感兴趣的人,这解释了如何在一个循环中创建许多这些地图标记,其中存储了所有信息,如 latlong 坐标、名称等不同的数组。
标签: javascript variables for-loop