2

在这一点上,我已经被这个问题困扰了几个小时,我无法弄清楚这个问题。

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

错误:未捕获的类型错误:无法读取未定义的属性“类型”-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

4

1 回答 1

3

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

您发布的片段newjerseymin.json确实具有objects包含 JSON 对象的字段,但该对象中似乎没有subunits字段,至少在您发布的片段中没有。因此,ns.objects.subunits将是undefined导致错误的原因。

于 2013-01-27T10:11:28.647 回答