我有这个JavaScript应该循环访问我的XML并获取我的数据。用于从XML获取数据的JavaScript循环
下面是javascript代码,我有:
function load() {
var map = new google.maps.Map(document.getElementById("map"), {
zoom: 13,
mapTypeId: 'roadmap'
});
var infoWindow = new google.maps.InfoWindow;
var line =[];
downloadUrl("exportintoxml2.php", function(data) {
var xml = data.responseXML;
var devs = xml.documentElement.getElementsByTagName("DEVS"),
data = {};
for (var n = 0; n < devs.length; n++) {
var dev = devs[n],
markers = dev.getElementsByTagName("marker"),
dev_id = dev.getAttribute('DEVS');
data[dev_id] = [];
for (var i = 0; i < markers.length; i++) {
var name = markers[i].getAttribute("USER");
var imei = markers[i].getAttribute("IMEI");
var gsm1 = markers[i].getAttribute("GSM1");
var devices = markers[i].getAttribute("DEVS");
var point = new google.maps.LatLng(
parseFloat(markers[i].getAttribute("LAT")),
parseFloat(markers[i].getAttribute("LON")));
var html = "<b>" + name + "</b> <br/>" + imei;
var icon = customIcons[devices] || {};
var marker = new google.maps.Marker({
map: map,
position: point,
icon: icon.icon,
shadow: icon.shadow
});
bindInfoWindow(marker, map, infoWindow, html);
data[dev_id].push = ({ 'point' : point });
line.push(data[1]);
}
}
map.setCenter(point, 16);
var polyline = new google.maps.Polyline({
path: line,
strokeColor: "#FF0000",
strokeOpacity: 1.0,
strokeWeight: 2
});
polyline.setMap(map);
});
}
我需要一个变量(或几个变量),它包含所有每DEV数据分开,我不知道如何将它包含在这个循环。 我需要能够显示具有不同折线的不同设备,而不需要彼此连接。
这怎么解决?
好的,谢谢你的循环。现在它遍历所有的DEVS并获取所有的数据。我仍然不清楚的是如何对数据中的数据进行排序[]?我仍然是新来的JavaScript,我还没有很好的数组。我只需要让我们说一个具有每个DEV的数据的数组,比如dev1 [],dev2 []等,可以这样做吗? – 2011-06-13 01:21:02
你可以做到这一点,但你应该把它们放在一个物体中。看到上面编辑的代码。 – glortho 2011-06-13 03:03:18
好的,非常感谢这个建议,但我仍然无法实现我的目标。 :)请你看看上面修改过的代码是我有的完整代码吗? – 2011-06-13 22:53:05