【发布时间】:2017-09-03 22:29:27
【问题描述】:
我正在尝试使用 xml 文件中的数据制作谷歌地图。 每隔一段时间,我都会检查是否有任何新信息,以便显示它们。 我创建了一条连接标记的折线。问题在于,由于“setInterval”,脚本会在现有多段线上创建一条新的多段线。
这是我的代码:
setInterval(function(){
downloadUrl("xml.php?id="+polyDevID+"&start=0", function(doc) {
var xmlDoc = xmlParse(doc);
var markers = xmlDoc.documentElement.getElementsByTagName("marker");
var path = [];
for (var ii = 0; ii < markers.length; ii++) {
var points = markers[ii].getElementsByTagName("devid");
// obtain the attributes of each marker
var lat = parseFloat(markers[ii].getAttribute("lat"));
var lng = parseFloat(markers[ii].getAttribute("lng"));
var devID = parseFloat(markers[ii].getAttribute("devid"));
var rDate = parseFloat(markers[ii].getAttribute("date"));
var TrackID = parseFloat(markers[ii].getAttribute("TrackID"));
var point = new google.maps.LatLng(lat,lng);
// create the marker
var marker = createPointer(point,devID,rDate,TrackID);
path.push(point);
}
// create polyline
var polyline = new google.maps.Polyline({
path: path,
strokeColor: "#"+pColor,
strokeOpacity: 1.0,
strokeWeight: 3,
icons: [{
icon: direc,
offset: '50%',
repeat: '100px'}]
});
polyline.setMap(map);
});
},5000);
如何避免这个问题,导致折线重复等等?
【问题讨论】:
标签: xml setinterval polyline