Json et markers map

marwan-poste Messages postés 40 Date d'inscription   Statut Membre Dernière intervention   -  
marwan-poste Messages postés 40 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Ma tache est de marquer des cordonnées des points (après une select d'un BD) sur une map.
Les cordonnées sont envoyée par une socket. Donc je récupère tout les cordonnées de la base de données pour l'envoyé dans cette socket.
//code de ma page javascript : sol.js
io.sockets.on('connection', function (socket) {
      mySqlClient.query(selectQuery, function(err, dbRes, fields) {
            if (err) throw err;
            else {
                  v2=JSON.stringify( dbRes );
                  console.log(v2);
                 //[{"longitude" : 12.489996 , "latitude" : 89.25666664}],{"longitude" : 12.487980 , "latitude" : 22.35666852}
                  
                    setInterval(function(){
                    socket.emit('date',{'date': v2});
                }, 1000);
            }

        });

});


//ma page html: sol.html
<script>
var socket = io.connect();
socket.on('date', function(data)
    {
      //recupére JSON
        $('#date').text(data.date);
     
      //ici on doit récupère les cordonnées des points 
    });
</script>
<div id="date"></div>


S'il vous plait... Merci d'avance..!?

1 réponse

marwan-poste Messages postés 40 Date d'inscription   Statut Membre Dernière intervention  
 
Pour le moment , j'ai marqué dans la map une seul point (c é a dire si j'ai dans ma base de données une seul point)
//code sol.js

var selectQuery = 'SELECT longitude , latitude FROM markers where iddevice = 1';//pour avoir un seul ligne
io.sockets.on('connection', function (socket) {
mySqlClient.query(selectQuery, function(err, dbRes, fields) {
            if (err) throw err;
            else {
                 v2=JSON.stringify( dbRes );
                 console.log(v2);
                setInterval(function(){
                    socket.emit('date',{'date': v2});
                }, 1000);
            }

        });

});

page html
</script>
 socket.on('date', function(data)
    {
       //nombre d'Obj pour le moment un seul Objet 
        var nobj = JSON.parse(data.date).length;
        console.log(nobj);
        //Pour chaque Obj
          var obj = data.date.replace("[","").replace("]","");// Pour avoir {"longitude" : 12.489996 , "latitude" : 89.25666664}
          var json = JSON.parse(obj);
           marker = new google.maps.Marker({
                position: new google.maps.LatLng(json["longitude"], json["latitude"]),
                map: map
            });
        }
  });
</script>
<div id="map-canvas"></div>

Le probléme si j'ai autres points à marquer aussi ?!!! (je pense une boucle! mais comment j'ai récupère chaque objet seul !!)
0