2010-02-10 4 views
3

Question rapide concernant Google Maps, AJAX et certaines données de back-end.Google Maps, SQL, XML, Ajax oh mon!

Comment puis-je créer google map qui se met à jour en temps réel avec les informations que j'ai stockées dans la base de données?

La façon dont je le vois fonctionner dans ma tête est.

La base de données recueille les entrées géolocalisées des utilisateurs. Un script (probablement php) récupère le dernier enregistrement. Javascript + AJAX prend la réponse et la trace sur Google Maps.

Comment puis-je l'actualiser et le mettre à jour lorsque des enregistrements sont entrés?

Répondre

3

Vous avez besoin d'un script sur le serveur qui donne un horodatage vérifiera si les nouveaux enregistrements ont été insérés dans la base de données après que l'horodatage. Si oui, il devrait retourner une réponse avec la dernière entrée.

Du côté client, vous devez lancer une requête AJAX au script côté serveur, soit en utilisant l'interrogation normal ou long, avec le paramètre d'horodatage de la dernière mise à jour.

Lorsque votre requête AJAX reçoit de nouvelles informations, il vous suffit de déplacer vos repères sur la carte. Ensuite, lancez une nouvelle requête AJAX avec le paramètre d'horodatage mis à jour.

pseudo-exemple en utilisant jQuery:

var lastUpdate = '2000/01/01 00:00:00'; 

function autoUpdate() { 
    $.ajax({ 
     type: "GET", 
     url: "check_updates.php?last_update=" + lastUpdate, 
     dataType: 'json', 
     success: function(jsonData) { 

      // 1. Check if jsonData is empty. If not we received some fresh data. 
      // 2. Update lastUpdate from the jsonData 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); 
     } 
    }); 
} 
+1

qui fait sens, merci dan! Je vais probablement modifier le code suivant avec votre approche: http://mapki.com/wiki/AJAX_with_PHP_and_MySQL – st4ck0v3rfl0w