this.preload = function() {
// Load JSON and table data
this.countriesCoords = loadJSON("data/countries.json",
// on success
function(){
console.log("Country data loaded!");
},
// on failure to load
function() {
alert("Error! Country data failed to load!");
});
for( var i = 0; i < Object.keys(this.countriesCoords).length; i++) {
var aux = loadJSON(this.getUrl(this.countriesCoords[i].name), this.processJSON);
this.countriesCoords[i].currentDate = aux.total_population[0].date;
this.countriesCoords[i].currentPopulation = aux.total_population[0].population;
this.countriesCoords[i].nextDate = aux.total_population[1].date;
this.countriesCoords[i].predictedPopulation = aux.total_population[1].population;
}
}
this.processJSON = function(data) {
console.log(data);
}
this.drawPoints = function (data) {
for( var i = 0; i < Object.keys(data).length; i++ ) {
if(this.calculateVariation(data[i].currentPopulation, data[i].predictedPopulation) > 0 ) {
fill(0,255,0,100);
ellipse(data[i].longitude, data[i].latitude, 5,5);
} else {
fill(255,0,0,100);
ellipse(data[i].longitude, data[i].latitude, 5,5);
}
}
};
function draw(){
this.drawPoints(this.countriesCoords);
}
我正在尝试向API发出多个请求以获取国家/地区的人口数据。构建api URL的国家/地区名称存储在countries.json文件中。来自api的数据包含当前和明天的日期以及该国家的人口,然后我必须将api数据与每个国家/地区进行匹配。我试图在预加载后执行此操作,但在动画完成之前未加载数据。我也尝试使用loadJson()的回调函数,但我没有设法将api数据与它所引用的国家匹配。我的问题是如何预加载所有api数据并将其添加到countriesCoords?
还试图找到其他数据集,但无法找到我要找的东西。