D3.js 使用D3的TopoJSON呈现问题

D3.js 使用D3的TopoJSON呈现问题,d3.js,geojson,topojson,D3.js,Geojson,Topojson,我已经使用world-110m topojson渲染了世界地图。我直接使用了Jakob在D3地图教程中提供的代码- 路径{ 笔画:红色; 笔划宽度:0.5px; 填充物:灰色; } //画布分辨率 可变宽度=1000, 高度=600; //墨卡托投影设置 var projection=d3.geo.mercator() //地图的中心位置(以度为单位) .center([0,50]) //zoomlevel .比例尺(100) //地图旋转 .旋转([0,0]); //将“svg”定义为数据类

我已经使用world-110m topojson渲染了世界地图。我直接使用了Jakob在D3地图教程中提供的代码-


路径{
笔画:红色;
笔划宽度:0.5px;
填充物:灰色;
}
//画布分辨率
可变宽度=1000,
高度=600;
//墨卡托投影设置
var projection=d3.geo.mercator()
//地图的中心位置(以度为单位)
.center([0,50])
//zoomlevel
.比例尺(100)
//地图旋转
.旋转([0,0]);
//将“svg”定义为数据类型和“生成画布”命令
var svg=d3.选择(“正文”).追加(“svg”)
.attr(“宽度”,宽度)
.attr(“高度”,高度);
//将“路径”定义为地理要素的返回
var path=d3.geo.path()
.投影(投影);
//将svg层分组
var g=svg.append(“g”);
//加载数据并在画布上显示带有国家几何图形的地图
d3.json(“world-110m.json”,函数(错误,拓扑){
g、 选择全部(“路径”)
.data(topojson.object(拓扑、拓扑、对象、国家)
(几何图形)
.输入()
.append(“路径”)
.attr(“d”,路径)
});
//缩放和平移功能
/*var zoom=d3.behavior.zoom()
.on(“缩放”,函数(){
g、 属性(“变换”、“平移”(+
d3.event.translate.join(“,”+”)比例(“+d3.event.scale+”);
g、 选择全部(“路径”)
.attr(“d”,路径投影(projection));
});
调用(缩放)*/
现在我想重用这段代码来渲染印度地图。但当我将它链接到JSON文件时,只创建了一个空白的SVG。js控制台出现错误
-topojson.v0.min.js:1未捕获类型错误:无法读取未定义的属性“type”

我已将world-110m.json和india.json放在dropbox上-
这只是一个小错误

topojson.object(topology, topology.objects.countries //wrong
topojson.object(topology, topology.objects.collection // right

下次检查数据时,请将其打印到控制台并检查其内容。

这只是一个小错误

topojson.object(topology, topology.objects.countries //wrong
topojson.object(topology, topology.objects.collection // right

下次检查数据时,请将其打印到控制台并检查其内容。

您是一名救生员@Dragon\u Slayer。在过去无休止的几个小时里,我一直在努力学习,但都没有通过多个教程。非常感谢!我最近也遇到了同样的问题。印度地图并不完整。印度地图实际上是一个卡通图,因此看起来是扭曲的。这就是你说它不完整的原因吗?我没有检查清楚,但它不包括完整的J和K。不确定你是一个救生员@Dragon_Slayer。在过去无休止的几个小时里,我一直在努力学习,但都没有通过多个教程。非常感谢!我最近也遇到了同样的问题。印度地图并不完整。印度地图实际上是一个卡通图,因此看起来是扭曲的。这就是你说它不完整的原因吗?我没有检查清楚,但它不包括完整的J和K。尽管不确定