D3.js:连接 json 和 csv 不起作用
2015-10-06
171
我想创建一个地图,其中静态地图位于 json 文件中,动态数据位于 csv 文件中。地图显示,但 cvs 文件中的动态数据不起作用。我尝试遵循 mbostock 的解释,但到目前为止我无法使连接工作。这是代码:
d3.json("/sites/default/d3_files/json/toronto-wards.json", function(error,wards) {
var csvData;
d3.csv("/csv-pledges", function(error, csv)
{
csvData = csv;
alert ("Hello" +csvData); // this displays
joinJsonCsv(csvData);
alert ("Bye"); // doesn't display
}); // end d3.csv
function joinJsonCsv(csv) {
// do something with rows
alert ("joinJsonCsv" +csv); // this displays
csv.forEach(function(d, i) {
alert("the value of e.SCODE_NAME is: "+e.SCODE_NAME); // doesn't display
world.forEach(function(e, j) {
if (d.ward_no === e.SCODE_NAME)
{
e.NAME = d.ward_no
} // end ward test
}) // end world loop loop
})// end of csv loop
alert ("exit joinJsonCsv"); // this doesn't display
} // end joinJsonCsv
我遗漏了什么?
1个回答
您在其范围之外引用了
e
对象,因此该函数崩溃了。我移动了警报,以便定义
e
,它现在应该可以正常工作了。
d3.json("/sites/default/d3_files/json/toronto-wards.json", function(error,wards) {
var csvData;
d3.csv("/csv-pledges", function(error, csv)
{
csvData = csv;
alert ("Hello" +csvData); // this displays
joinJsonCsv(csvData);
alert ("Bye"); // doesn't display
}); // end d3.csv
function joinJsonCsv(csv) {
// do something with rows
alert ("joinJsonCsv" +csv); // this displays
csv.forEach(function(d, i) {
world.forEach(function(e, j) {
alert("the value of e.SCODE_NAME is: "+e.SCODE_NAME); // try this maybe
if (d.ward_no === e.SCODE_NAME)
{
e.NAME = d.ward_no
} // end ward test
}) // end world loop loop
})// end of csv loop
alert ("exit joinJsonCsv"); // this doesn't display
} // end joinJsonCsv
Cool Blue
2015-10-06