diff --git a/map.html b/map.html index d8e26fc..1f57b8a 100644 --- a/map.html +++ b/map.html @@ -101,6 +101,8 @@ socket.on("changeColor", function(data){ console.log("changeColor", data); + if(data.id in colors && colors[data.id] == -1 && data.id in markers) + markers[data.id].addTo(map); colors[data.id] = data.color; if(data.id in markers){ if(data.id == id) diff --git a/traque.js b/traque.js index ee692c6..4337589 100644 --- a/traque.js +++ b/traque.js @@ -59,11 +59,14 @@ io.sockets.on('connection', function(socket){ equipes.push(socket); socket.shown = true; socket.color = 0; + socket.position = [0,0]; socket.on('geoLoc', function(d){ socket.position = d.position; if(socket.shown) for(i in equipes) equipes[i].emit('moving', {"id": socket.id, "position": d.position}); + else + socket.emit('moving', {"id": socket.id, "position": d.position}); }); socket.on('changeColor', function(d){ socket.color = d.color - 0; @@ -71,11 +74,11 @@ io.sockets.on('connection', function(socket){ socket.shown = false; else{ if(!socket.shown) - for(i in equipes) + for(i in equipes) equipes[i].emit('moving', {"id": socket.id, "position": socket.position}); socket.shown = true; } - for(i in equipes) + for(i in equipes) equipes[i].emit('changeColor', {"id": socket.id, "color": d.color}); }); socket.on('setName', function(d){ @@ -83,7 +86,15 @@ io.sockets.on('connection', function(socket){ for(i in equipes) equipes[i].emit('setName', {"id": socket.id, "name": d.name}); }); + socket.emit('yourId', {"id": socket.id}); + for(i in equipes){ + if(!equipes[i].shown) + continue; + socket.emit('setName', {"id": i, "name": equipes[i].name}); + socket.emit('changeColor', {"id": i, "color": equipes[i].color}); + socket.emit('moving', {"id": i, "position": equipes[i].position}); + } }); console.log("Launch server");