栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

使用Node js和D3实时在地图上绘制状态名称

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

使用Node js和D3实时在地图上绘制状态名称

为文本创建一个变量并将其移到外部

socket

d3.json("india-states.json", function (json) {india.selectAll("path")  .data(json.features)  .enter().append("path")  .attr("d", path);var stateText = india.selectAll(".text")  .data(json.features)  .enter()  .append("text");//variable outside socketvar socket = io();socket.on('tags', function(data){    stateText.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) {        if (d.id == data.message1) {    return data.message1;          }      });  });});

如果要跟踪上一个

message1
,可以在函数外部创建一个数组,并循环遍历它:

d3.json("india-states.json", function (json) {india.selectAll("path")  .data(json.features)  .enter().append("path")  .attr("d", path);var stateText = india.selectAll(".text")  .data(json.features)  .enter()  .append("text");var arrayStates = [];//this array will hold all the namesvar socket = io();socket.on('tags', function(data){    arrayStates.push(data.message1);//for each input, a new string    stateText.attr("fill", "black")    .attr("transform", function(d) {        var centroid = path.centroid(d);        return "translate(" + centroid[0] + "," + centroid[1] + ")"    })    .attr("text-anchor", "middle")    .attr("dy", ".35em")    .style('fill', 'white')    .text(function(d) {        for(var i = 0; i < arrayStates.length; i++){          if (d.id == arrayStates[i]) {    return arrayStates[i];          }        }     });  });});


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/385368.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号