我是新手,我有服务跟踪多车,我使用timmer接收位置,但我不知道如何用新值更新旧标记。我尝试使用删除所有标记然后再次添加,但它不顺利。请帮助我。英语不好的英语
var markers = [];
var marker = [];
setInterval(function () {
for (var i = 0; i < markers.length; i++) {
markers[i].setMap(null);
}
markers = [];
$.ajax({
type: "POST",
contentType: "application/xml; charset=utf-8",
url: "http://localhost:24074/WebService1.asmx/DoWork",
data: {},
dataType: "xml",
crossDomain: true,
processData: false,
success: function (xml) {
var bienSo, soHieu, soCho, vd, kd;
$(xml).find('T_XeOnline').each(function () {
$(this).find("KinhDo").each(function () {
kd = $(this).text();
});
$(this).find("ViDo").each(function () {
vd = $(this).text();
});
$(this).find("BienSoXe").each(function () {
bienSo = $(this).text();
});
$(this).find("SoHieuXe").each(function () {
soHieu = $(this).text();
});
$(this).find("SoCho").each(function () {
soCho = $(this).text();
});
content = '<p>Biển số xe: ' + bienSo + '<br/>' +
'Số hiệu xe: ' + soHieu + '<br/>' +
'Số chỗ: ' + soCho + '<br/>' + '</p>';
updateMarker(vd, kd);
});
},
error: function (msg, textStatus) {
alert("Error " + msg.responseText + "" + msg.statusText + "" + XMLHttpRequest.stat);
}
})
}, 5000);
function updateMarker(lat, lng) {
marker = new google.maps.Marker({
position: new google.maps.LatLng(lat, lng),
map: map,
});
markers.push(marker);
addInfoWindow(marker, content);
}
答案 0 :(得分:1)
没有内置功能,但您可以使用setPosition(latlng)
功能更新标记的位置来构建自己的功能,并使用setTimeout(myFun, delay)
等待并使其看起来像它是动画。
我创建了JSFiddle here。
希望这有帮助。