此时我已经坚持这个问题几个小时,我无法弄清楚问题。
我一直在跟踪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
答案 0 :(得分:3)
问题似乎出现在文件../static/json/newjerseymun.json
中。
您发布的newjerseymin.json
段确实包含一个包含JSON对象的字段objects
,但该对象中似乎没有subunits
字段,至少不是在您发布的细分中。因此,ns.objects.subunits
将undefined
导致错误。