1

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

1 回答 1

4

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

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

var points = [];

var point = {
  "url": url,
  "lat": lat,
  "lng": lng,
  "name": name,
  "id": id
};
points.push(point);
于 2013-04-09T06:39:00.537 回答