Plotando o nome dos estados no mapa usando o nó js e D3 em tempo real
Eu tenho tentado traçar os nomes dos estados no mapa usando o sistema Redis Pub / Sub, Nó js e D3. O problema é que, quando digito um estado pela primeira vez em um canal Redis, ele é plotado perfeitamente, mas quando digito no segundo estado, nada acontece. Desde que eu sou novo no D3.js., não consigo descobrir o problema. Qualquer ajuda será apreciada. Obrigado.
d3.json("india-states.json", function (json) {
india.selectAll("path")
.data(json.features)
.enter().append("path")
.attr("d", path);
var socket = io();
socket.on('tags', function(data){
console.log(data.message1);
india.selectAll("text")
.data(json.features)
.enter()
.append("text")
.attr("fill", "black")
.attr("transform", function(d) {
console.log(data.message1 + "Second Time");
var centroid = path.centroid(d);
return "translate(" + centroid[0] + "," + centroid[1] + ")"
})
.attr("text-anchor", "middle")
.attr("dy", ".35em")
.style('fill', 'white')
.text(function(d) {
console.log("2");
if (d.id == data.message1) {
console.log("1");
return data.message1;
}
});
});
});
Tentei explorar meu código e constatei que ele sempre buscava o nome do estado corretamente. Mas somente na primeira tentativa o nome do estado avança após
console.log(data.message1);
Em todos os outros casos, recebo apenas uma saída do console e esse é o "console.log (data.message1);"