Json et markers map

marwan-poste Messages postés 55 Statut Membre -  
marwan-poste Messages postés 55 Statut Membre -
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

  1. marwan-poste Messages postés 55 Statut Membre
     
    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