Javascript TypeError:e在d3.min.js中未定义

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

我创建了一个以下函数,以便在印度地图中使用放大功能。但是错误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("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列中未定义