我目前正在开发谷歌地图,现在我想从API“生成”引脚。但后来我卡住了,因为一个引脚看起来像这样:
var imageDriver = 'marker.png';
var DriverLatLng = new google.maps.LatLng(location.lat, location.lng);
var driverMarker = new google.maps.Marker({
position: DriverLatLng,
map: map,
icon: imageDriver,
title: drivers[0].name
});
}
我想创建一种可以用前缀“生成”这些变量的函数。查看下面的示例:
var imageDriver0;
var DriverLatLng0;
var driverMarker0;
position: DriverLatLng0,
map: map,
icon: imageDriver0,
title: drivers[o].name
这些变量当然必须是唯一的,因此它们不会“碰撞”。我有这个for循环,它计算我的API中的所有“驱动程序”。我可以以某种方式使这个for循环创建这些引脚? 例如:
driversRealtime();
function driversRealtime() {
setInterval(function () {
var url = "http://blackcab.didair.se/api/drivers";
var lat;
var lon;
var name;
var id;
$.getJSON(url,
function (response) {
for (var i = 0; i < response.drivers.length; i++) //Counts data-elemements inside
lat = response.drivers[i].currentLat;
lon = response.drivers[i].currentLon;
name = response.drivers[i].name;
id = response.drivers[i].profileId;
console.log(lat);
console.log(lon);
console.log(name);
console.log(id);
});
}, 3000); //Delay in milliseconds
}
答案 0 :(得分:4)
可能动态创建变量名称,但几乎总是毫无意义。
使用数组或后缀,并将值作为属性放在数组中的对象中。例如:
var points = [];
var point = {
"url": url,
"lat": lat,
"lng": lng,
"name": name,
"id": id
};
points.push(point);