[英]Uncaught Reference Error: queue is not defined
我收到錯誤
未捕獲的參考錯誤:未定義隊列
但我不明白為什么會收到錯誤消息。 我正在嘗試使用D3繪制美國地圖,並且正在/正在使用本指南,但它與D3的最新版本並不完全匹配。 這是我的代碼/視頻中的代碼:
(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);
});
檢查API: https : //github.com/d3/d3-queue#queue
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.