Я создаю систему, которая отслеживает местоположение автомобилей и выводит их на карты Google. Единственная проблема, которая у меня есть сейчас, заключается в том, что я не могу автоматически каждые 100 секунд делать c refre sh с моим кодом, который обновляет трекеры на картах при движении автомобиля. Я думаю, что мой код для автоматического c refre sh правильный, потому что он всегда показывает ошибку каждые 5 секунд, и я не могу выяснить проблему с кодом отправки, который у меня есть для доступа к ajax
// Initialize Google Map
function initMap()
{
map = new google.maps.Map(document.getElementById('map'),
{
zoom: 7,
center:
{
lat: 16.3242858,
lng: 121.5125254},
mapTypeId: 'roadmap'
}
);
}
var truck = [18055,18056,19364,19365,19366,19367,19368,19369,19370,19371,19774,19780,19787,19989,19990,19991,19992,19993,20244,20245,20411,20893,20895,20896,20898,20899,20900,20901,20902,20904,20905,20906,20907,20908,20915,20916,20918,20919,20920,20921,20922,20923,20925,20930,20934,20949,21364,21945,21955,21974,22006,22031,22166,22202,22206,22213,22286];
window
// Initialize AJAX/AJAJ for GPS TRACKER API
var request = new XMLHttpRequest();
url = 'url=['+ truck +']';
request.open('GET', url, true);
request.send();
// json data in here
request.onload = function()
{
if(request.status != 200)
{
// HTTP error?
// Handle error Here
alert( 'Error: ' + request.status);
return;
}
var tracker = JSON.parse(request.responseText);
var infowindow = new google.maps.InfoWindow();
var i,marker;
for (i = 0; i < truck.length; i++)
{
marker = new google.maps.Marker({
position: new google.maps.LatLng(parseFloat(tracker.states[truck[i]].gps.location.lat), parseFloat(tracker.states[truck[i]].gps.location.lng)),
map: map
});
google.maps.event.addListener(marker, 'click', (function(marker, i) {
return function() {
infowindow.setContent(truck[i].toString()+"<br> sample");
infowindow.open(map, marker);
}
})(marker, i));
}
};
setInterval(function()
{
request.onreadystatechange = function()
{
if (request.readyState === 4)
{
/* do some thing*/
tracker = JSON.parse(request.responseText);
infowindow = new google.maps.InfoWindow()
for (i = 0; i < truck.length; i++)
{
marker = new google.maps.Marker({
position: new google.maps.LatLng(parseFloat(tracker.states[truck[i]].gps.location.lat), parseFloat(tracker.states[truck[i]].gps.location.lng)),
map: map
});
google.maps.event.addListener(marker, 'click', (function(marker, i) {
return function() {
infowindow.setContent(truck[i].toString()+"<br> sample");
infowindow.open(map, marker);
}
})(marker, i));
}
}
};
request.send(); //it shows the error here
}, 5000);