Google Maps V3: Mise À Jour Des Marqueurs Périodiquement

J'ai suivi le PHP/MYSQL tutoriel sur Google Maps trouvé ici.

J'aimerais les marqueurs être mis à jour de la base de données toutes les 5 secondes.

C'est ma compréhension je dois utiliser Ajax pour la périodicité de mise à jour les marqueurs, mais j'ai du mal à comprendre d'où l'ajout de la fonction et de l'endroit où l'utilisation setTimeout() etc

Tous les autres exemples que j'ai trouvés ne sont pas vraiment expliquer ce qu'il se passe, quelques indications utiles serait formidable!

C'est mon code (le Même que Google exemple avec certains var changements):

function load() {
var map = new google.maps.Map(document.getElementById("map"), {
center: new google.maps.LatLng(37.80815648152641, 140.95355987548828),
zoom: 13,
mapTypeId: 'roadmap'
});
var infoWindow = new google.maps.InfoWindow;
//Change this depending on the name of your PHP file
downloadUrl("nwmxml.php", function(data) {
var xml = data.responseXML; 
var markers = xml.documentElement.getElementsByTagName("marker");
for (var i = 0; i < markers.length; i++) {
var host = markers[i].getAttribute("host");
var type = markers[i].getAttribute("active");
var lastupdate = markers[i].getAttribute("lastupdate");
var point = new google.maps.LatLng(
parseFloat(markers[i].getAttribute("lat")),
parseFloat(markers[i].getAttribute("lng")));
var html = "<b>" + "Host: </b>" + host + "<br>" + "<b>Last Updated: </b>" + lastupdate + "<br>";
var icon = customIcons[type] || {};
var marker = new google.maps.Marker({
map: map,
position: point,
icon: icon.icon,
shadow: icon.shadow
});
bindInfoWindow(marker, map, infoWindow, html);
}
});
}
function bindInfoWindow(marker, map, infoWindow, html) {
google.maps.event.addListener(marker, 'click', function() {
infoWindow.setContent(html);
infoWindow.open(map, marker);
});
}
function downloadUrl(url, callback) {
var request = window.ActiveXObject ?
new ActiveXObject('Microsoft.XMLHTTP') :
new XMLHttpRequest;
request.onreadystatechange = function() {
if (request.readyState == 4) {
request.onreadystatechange = doNothing;
callback(request, request.status);
}
};
request.open('GET', url, true);
request.send(null);
}
function doNothing() {}

J'espère que quelqu'un pourra m'aider!

InformationsquelleAutor dkanejs | 2012-03-08