如何“生成”唯一变量?

时间:2013-04-09 06:27:15

标签: javascript jquery json google-maps-api-3

我目前正在开发谷歌地图,现在我想从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
}

1 个答案:

答案 0 :(得分:4)

可能动态创建变量名称,但几乎总是毫无意义。

使用数组或后缀,并将值作为属性放在数组中的对象中。例如:

var points = [];

var point = {
  "url": url,
  "lat": lat,
  "lng": lng,
  "name": name,
  "id": id
};
points.push(point);