2016-08-09 3 views
0

정의되어 있지 않습니다. 나는 D3을 사용하여 USA의지도를 그리려고하고 있는데,이 guide을 사용하고 있었지만 D3의 가장 최신 버전과 정확히 일치하지는 않습니다. 다음은 내 코드/비디오 코드입니다.catch되지 않은 참조 오류가 : 큐 나는 오류</p> <blockquote> <p>Uncaught Reference Error: queue is not defined</p> </blockquote> <p>를 얻고 있지만 오류를 얻고있다 왜 이해가 안

(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); 
    }); 
})(); 
+0

코드가 후 * 한 것처럼 보입니까 * queue.js의 수입? 오류는 아주 자명합니다. – Pointy

+0

이 D3 3.x 또는 4.x입니까? –

+0

가져 오기는이 js 파일을 호출하는 html 파일에 있습니다. 가져 오기를 사용할 때마다 큐의 index.js 파일에 "필수 정의되지 않음"오류가 있다는 오류가 발생합니다.이 오류는 주석으로 처리하면 사라지지만이 오류는 그대로 유지됩니다. 이것은 D3 4.x입니다. –

답변

0

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

0

은 라이브러리의 큐 부분입니까? 나는 당신이 html로 그것을 첨부한다면 그것이 어쨌든 작동 할 것이라고 가정하고있다. 코드를 가져 오기 전에 확인하십시오.

하지만 작동하지 않습니다 또는 컴파일러 오류에 대한 걱정이 있다면 당신은이 작업을 수행 할 수 있습니다

(function (queue) { 
.... 

})(queue); 

내가 그 나는 내 인생의 jQuery에 또는 창을 사용하고자 할 때.