Javascript TypeError:e在d3.min.js中未定义
我创建了一个以下函数,以便在印度地图中使用放大功能。但是错误e在d3.min.js中未定义,出现在第3:12958行Javascript TypeError:e在d3.min.js中未定义,javascript,d3.js,Javascript,D3.js,我创建了一个以下函数,以便在印度地图中使用放大功能。但是错误e在d3.min.js中未定义,出现在第3:12958行 d3.json("india.geojson",function(error,data){ var data = d3.range(2000).map(function() { return [randomX(),randomY()]; }); var canvas = d3.select("bod
d3.json("india.geojson",function(error,data){
var data = d3.range(2000).map(function() {
return [randomX(),randomY()];
});
var canvas = d3.select("body")
.append("svg")
.attr("width",750)
.attr("height",750)
.append("g")
.call(d3.behavior.zoom().scaleExtent([1, 8]).on("zoom", zoom))
.append("g");
var color = d3.scale.linear()
.domain([1,50])
.range(["red","blue"]);
var group = canvas.selectAll("g")
.data(data.features)
.enter()
.append("g");
var projection = d3.geo.mercator().scale(1000).translate([-1000,700]);
var path = d3.geo.path().projection(projection);
var areas = group.append("path")
.attr("d",path)
.attr("class","area")
.attr("fill",function(d){return color(d.properties.ID_1); });
function zoom() {
group.attr("transform", "translate(" + d3.event.translate + ")scale(" + d3.event.scale + ")");
}
group.append("text")
.attr("x",function(d){ return path.centroid(d)[0];})
.attr("y",function(d){ return path.centroid(d)[1];})
.attr("text-anchor","middle")
.text(function(d){ return d.properties.NAME_1 ;});
});
将
zoom
函数放在d3.json
函数之外,或者至少放在对缩放函数的引用之上。当您引用它时,zoom
是未定义的,这可能是导致您出现问题的原因。将zoom
函数放在您的d3.json
函数之外,或者至少放在您对缩放函数的引用之上。目前您引用的zoom
未定义,这可能是导致您出现问题的原因。我建议您使用d3.js的非精简版本来确定哪些代码确实出错。我建议您使用d3.js的非精简版本来确定哪些代码确实出错。好的,但您需要更具体一点,使用nob minified js,告诉我们错误发生在代码的哪一行,或者给出一个jsiddle以便我们检查。我不知道出现在控制台上的错误是:TypeError:e在d3.min.js的第3行和第12958列中未定义好,但您需要更具体一点,使用nob minified js,告诉我们错误发生在代码的哪一行,或者给我们一个JSIDLE以便我们检查。我不知道出现在控制台上的错误是:TypeError:e在d3.min.js的第3行和第12958列中未定义