Uncaught Reference Error: queue is not defined
Uncaught Reference Error: queue is not defined
我遇到了错误
Uncaught Reference Error: queue is not defined
但我不明白为什么会收到错误消息。我正在尝试使用 D3 绘制美国地图,我 am/was 使用此 guide 但它与 D3 的最新版本不完全匹配。这是视频中我的 code/the 代码:
(function (){
var width = 400;
var height = 300;
var svg = d3.select('#d3mapUS')
.append("svg")
.attr("width", width)
.attr("height", height);
var projection = d3.geoAlbersUsa()
.scale(1280)
.translate([width/2, height/2]),
path = d3.geoPath()
.projection(projection);
var stateIDMap = d3.map({
});
queue()
.defer(d3.json, "us.json")
.await(function (err, US) {
var states = svg.append("g")
.attr("class", "states")
.selectAll("g")
.data(topojson.feature(US, US.objects.states).features)
.enter()
.append("g");
states.append("path")
.attr("d", path);
});
})();
队列是图书馆的一部分吗?我假设如果您将它附加到 html 中,它无论如何都会起作用。确保它在您导入代码之前。
但如果它不起作用或者您担心编译器错误,您可以这样做:
(function (queue) {
....
})(queue);
当我想在我的生活中使用 jquery 或 window 时,我会这样做。
如果您使用的是 D3 v4.x,正确的语法是 d3.queue
。所以,应该是:
d3.queue()
.defer(d3.json, "us.json")
.await(function (err, US) {
var states = svg.append("g")
.attr("class", "states")
.selectAll("g")
.data(topojson.feature(US, US.objects.states).features)
.enter()
.append("g");
states.append("path")
.attr("d", path);
});
我遇到了错误
Uncaught Reference Error: queue is not defined
但我不明白为什么会收到错误消息。我正在尝试使用 D3 绘制美国地图,我 am/was 使用此 guide 但它与 D3 的最新版本不完全匹配。这是视频中我的 code/the 代码:
(function (){
var width = 400;
var height = 300;
var svg = d3.select('#d3mapUS')
.append("svg")
.attr("width", width)
.attr("height", height);
var projection = d3.geoAlbersUsa()
.scale(1280)
.translate([width/2, height/2]),
path = d3.geoPath()
.projection(projection);
var stateIDMap = d3.map({
});
queue()
.defer(d3.json, "us.json")
.await(function (err, US) {
var states = svg.append("g")
.attr("class", "states")
.selectAll("g")
.data(topojson.feature(US, US.objects.states).features)
.enter()
.append("g");
states.append("path")
.attr("d", path);
});
})();
队列是图书馆的一部分吗?我假设如果您将它附加到 html 中,它无论如何都会起作用。确保它在您导入代码之前。
但如果它不起作用或者您担心编译器错误,您可以这样做:
(function (queue) {
....
})(queue);
当我想在我的生活中使用 jquery 或 window 时,我会这样做。
如果您使用的是 D3 v4.x,正确的语法是 d3.queue
。所以,应该是:
d3.queue()
.defer(d3.json, "us.json")
.await(function (err, US) {
var states = svg.append("g")
.attr("class", "states")
.selectAll("g")
.data(topojson.feature(US, US.objects.states).features)
.enter()
.append("g");
states.append("path")
.attr("d", path);
});