Javascript变量循环
Javascript variable loop
我需要为一个谷歌地图分配50个地图标记。我不想有50次(几乎)相同的代码行。轻松循环并优化代码的最佳方式是什么?
var marker1 = new google.maps.Marker({position: new google.maps.LatLng(location1_latitude,location1_longitude),map: map1,title:location1});
var marker2 = new google.maps.Marker({position: new google.maps.LatLng(location2_latitude,location2_longitude),map: map1,title:location2});
var marker3 = ...
重复到
var marker50 = new google.maps.Marker({position: new google.maps.LatLng(location50_latitude,location50_longitude),map: map1,title:location50});
您可以使用两个数组并对它们进行迭代:
var location_latitude = [0,1,2,3,4,5] // all your latitudes
var location_longitude = [0,1,2,3,4,5] // all your longitudes
var location_titles = ['loc0','loc1','loc2','loc3','loc4','loc5']
var markers = []
for (var i = 0; i < location_latitude.length && i < location_longitude.length && i < location_titles.length; i++) {
markers[i] = new google.maps.Marker({position: new google.maps.LatLng(location_latitude[i],location_longitude[0]),map: map1,title:location_titles[i]});
}
您还可以将lat、lng和title抽象为一个对象:
var locations = [{lat: 0, lng: 0, title: 'latlng0'},{lat: 0, lng: 0, title: 'latlng0'}] // depending on how you get you're data, you'll want to adjust your loop's format so you don't have to manually convert it
var markers = []
for (var i = 0; i < locations.length; i++) {
var current = locations[i]
markers[i] = new google.maps.Marker({position: new google.maps.LatLng(current.lat,current.lng),map: map1,title:current.title});
}
相关文章:
- 如何在Javascript函数调用中循环变量
- Jquery将循环变量绑定到getJSON函数
- 如何使用jQuery循环变量名
- FileReader加载端中循环变量的值
- 为什么 CoffeScript 不“重用”循环变量
- 循环变量的Javascript不起作用
- 循环变量作为异步函数调用中的参数
- 将循环变量调用到自动压缩选择中
- Javascript 循环变量
- 如何使用以 js 为单位递增的字符串创建 for 循环变量
- JQuery:如何在 jquery 选择器中使用 for 循环变量
- 余烬每循环加倍.使用内部每个循环变量的值绑定到外部每个循环的变量中命名相同的属性
- 处理循环变量的重复声明警告
- 如何将递增的 for 循环变量传递给 node.js 中的函数
- 如何处理来自函数和与垃圾回收器有关的函数的循环变量
- 如何将循环变量传递给元素
- js canvas drawImage 不适用于循环变量
- 在 Jquery 中添加循环变量并存储在输入字段中
- 使用 for 循环变量更改 html 类的名称
- 通过循环变量引用Javascript数组元素