Posiadam kod HTML/JavaScript w stylu:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Autobusy</title>
<link rel="stylesheet" href="http://cdn.leafletjs.com/leaflet-0.7.3/leaflet.css" />
<script src="http://cdn.leafletjs.com/leaflet-0.7.3/leaflet.js"></script>
<script src="//code.jquery.com/jquery-1.11.2.min.js"></script>
<script src="https://raw.githubusercontent.com/tkrajina/leaflet-editable-polyline/master/src/leaflet-editable-polyline.js"></script>
<script src="//code.jquery.com/jquery-migrate-1.2.1.min.js"></script>
<style>
body { padding: 0; margin: 0; background-color: grey; }
#map { height: 600px; }
a{ color: white; text-decoration: none; font-weight: bold;}
</style>
</head>
<body>
<div id="map"></div>
<a href="#" onclick="showall()">Pokaż wszystkie znaczniki</a>
<script>
var attr_osm = 'Map data © <a href="http://openstreetmap.org/">OpenStreetMap</a> contributors';
var osm = new L.TileLayer('http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {opacity: 0.7, attribution: [attr_osm].join(', ')});
var map = L.map('map').addLayer(osm).setView([50.03365, 22.00638], 13);
marker = Array();
warstwa=L.featureGroup();
warstwa.addTo(map);
function showall(){
map.fitBounds(warstwa.getBounds());
}
function update(number){
var URL_address = 'json.php?id=' + number;
$.getJSON( URL_address, function( data ) {
xml=data;
for(var key in data){
value=data[key];
if(typeof marker[key] === 'undefined'){
marker[key] = L.marker(L.latLng(value[1], value[2]));
marker[key].bindPopup('Linia: '+value[0]+'<br />Numer: '+key);
warstwa.addLayer(marker[key]);
}else{
marker[key].setLatLng(L.latLng(value[1], value[2]));
}
};
marker.forEach( function(value, key){
if(typeof data[key] === 'undefined'){
warstwa.removeLayer(marker[key]);
}
});
});
}
function partB() {
var tree;
}
$(document).ready( function(){
var i;
var i_max = 1000;
for (i = 0; i < i_max; i++) {
update(i);
setInterval(partB, 2500);
}
});
</script>
</body>
</html>
Problem polega na tym, że chciałbym aby w odstępach np. co sekundę JavaScript wywoływał mi funkcję update(i) z inkrementowaną w pętli zmienną i.
Próbowałem to zrobić na różne sposoby ale niestety nie wychodziło mi - nie mogłem spowolnić wywołań i występowały błyskawicznie jedno po drugim..
Jak zmodyfikować poniższy kod aby działało to dobrze?
$(document).ready( function(){
var i;
var i_max = 1000;
for (i = 0; i < i_max; i++) {
update(i);
setInterval(partB, 2500);
}
});