【发布时间】:2014-03-14 04:41:34
【问题描述】:
我有一个用于生成地图的美国 JSON 文件。路径可以很好地生成状态,但现在我想在每个路径/状态的中心添加状态名称。
这是一个 JSON 文件的例子
var usa = {"type": "FeatureCollection",
"features": [{ "type": "Feature", "properties": { "NAME": "Alabama"}, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -88.124658, 30.283640 ]...
我通过附加到我已经创建的 SVG 来创建状态
var allStates = svg.selectAll("path")
.data(usa.features)
.enter()
.append("path")
.attr("d", path)
这是我尝试将州名添加为文本的地方
var allStatesNames = svg.selectAll('text')
.data(usa.features)
.enter().append("svg:text")
.attr("transform", function(d) {
return "translate(" + path.centroid(d.geometry.coordinates) + ")"; })
.text(function(d) {return d.properties.NAME})
但我只是不断得到这个回来
<text transform="translate(NaN,NaN)">Virginia</text>
为什么我会得到 NaN,我应该改用什么?
提前感谢您的帮助!
【问题讨论】:
标签: javascript d3.js topojson