未捕获的TypeError:无法使用d3.js读取未定义的属性“类型”

时间:2013-01-27 07:03:22

标签: javascript d3.js

此时我已经坚持这个问题几个小时,我无法弄清楚问题。

我一直在跟踪http://bost.ocks.org/mike/map/我自己的数据集。

错误:未捕获TypeError:无法读取未定义的属性'type' - topojson.v0.min.js:1

<!DOCTYPE html>
<head>
<meta charset="utf-8">
<style>

path {
  fill: #ccc;
  stroke: #fff;
  stroke-width: .5px;
}

path:hover {
  fill: red;
}

</style>
</head>
<body>
<script src="../static/js/d3.min.js"></script>
<script src="../static/js/topojson.v0.min.js"></script>
<script>


var width = 900,
    height = 900;

var path = d3.geo.path();

var svg = d3.select("body").append("svg")
    .attr("width", width)
    .attr("height", height);


d3.json("../static/json/newjerseymun.json", function(nj) {
  svg.append("path")
      .datum(topojson.object(nj, nj.objects.subunits))
      .attr("d", d3.geo.path().projection(d3.geo.mercator()));
});

</script>

</body>

以下是我的json文件开头的示例:http://pastebin.com/g0Lut36V

1 个答案:

答案 0 :(得分:3)

问题似乎出现在文件../static/json/newjerseymun.json中。

您发布的newjerseymin.json段确实包含一个包含JSON对象的字段objects,但该对象中似乎没有subunits字段,至少不是在您发布的细分中。因此,ns.objects.subunitsundefined导致错误。