Vous semblez être sur la bonne voie.
Votre script php doit accepter un paramètre d'horodatage et doit vérifier si de nouveaux points ont été insérés dans la base de données après cet horodatage. Si oui, il devrait renvoyer une réponse avec la dernière entrée (ou une liste d'entrées après cet horodatage, si vous souhaitez afficher une piste en direct lorsque le véhicule se déplace).
Côté client, vous pouvez lancer une requête AJAX vers le script côté serveur, soit en utilisant normal ou interrogation longue , avec le paramètre timestamp de la dernière mise à jour.
Lorsque votre requête AJAX reçoit de nouvelles informations du serveur, vous déplacez simplement vos marqueurs sur la carte. Lancez ensuite une nouvelle requête AJAX avec le paramètre d'horodatage mis à jour.
Exemple de pseudo-code utilisant jQuery :
var lastUpdate = '2000/01/01 00:00:00';
function autoUpdate () {
$.ajax({
type: "GET",
url: "phpsqlajax_genxml.php?last_update=" + lastUpdate,
dataType: 'xml',
success: function(xmlData) {
// 1. Check if the xmlData is empty. If not we received
// some fresh data.
// 2. Update lastUpdate from the xmlData with the timestamp from
// the server. Don't use JavaScript to update the timestamp,
// because the time on the client and on the server will
// never be exactly in sync.
// 3. Move the markers on Google Map.
// Relaunch the autoUpdate() function in 5 seconds.
setTimeout(autoUpdate, 5000);
}
});
}