首页 > 解决方案 > 向地图中的每个州添加文本

问题描述

我有地图**(jsfiddle)**,它显示了美国的州列表name,是否有可能在每个州上添加州代码。我试图添加一个text,但它在每个州的中心并不完全对齐。

以下是我用来在每个状态中添加的功能:

function addText(p){
    var t = document.createElementNS("http://www.w3.org/2000/svg", "text");
    var b = p.getBBox();
    t.setAttribute("transform", "translate(" + (b.x + b.width/2) + " " + (b.y + b.height/2) + ")");
    t.textContent = p.id;
    t.setAttribute("fill", "red");
    t.setAttribute("font-size", "14");
    p.parentNode.insertBefore(t, p.nextSibling);
}

var paths = document.querySelectorAll("path");
for (var p in paths)
{
    addText(paths[p])
}

下面是 JSFiddle:http: //jsfiddle.net/3sfou5bh/

标签: javascriptsvg

解决方案


推荐阅读