Json et markers map

Fermé
marwan-poste Messages postés 40 Date d'inscription samedi 20 octobre 2007 Statut Membre Dernière intervention 22 décembre 2015 - Modifié par baladur13 le 10/09/2014 à 11:18
marwan-poste Messages postés 40 Date d'inscription samedi 20 octobre 2007 Statut Membre Dernière intervention 22 décembre 2015 - 10 sept. 2014 à 14:40
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 samedi 20 octobre 2007 Statut Membre Dernière intervention 22 décembre 2015
10 sept. 2014 à 14:40
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