JS - error: Cannot read property 'lat' of undefined
JS - error: Cannot read property 'lat' of undefined
我正在使用 P5.JS 库创建一个应用程序,该应用程序显示一个动态地图,每个国家/地区都根据当前天气进行着色,这就是我目前所拥有的:
var colors = [];
var paises = ["AR", "BR", "CL", "CO", "GY", "PE", "PY", "UY", "BO", "VE", "EC", "GF", "SR"];
var datacoor;
var url1 = "https://chart.googleapis.com/chart?";
var arg1 = "cht=map&chs=600x500&chld="
var arg2 = "&chco=";
//var URL = url1+arguments;
var img;
function setup () {
createCanvas(500, 600);
img = createImg("https://chart.googleapis.com/chart?cht=map&chs=600x500&chld=AR|BR|CL|CO|GY|PE|PY|UY|BO|VE|EC|GF|SR&chco=B3BCC0|5781AE");
img.hide();
for (var a = 0; a < paises.length; a++){
colors.append(colors, color(getColor(paises[a])));
}
}
function draw () {
background(255);
noStroke();
fill(30);
textSize(35);
//text("zz ", 15, 45);
if (img) {
imageMode(CENTER);
image(img, width/2, height/2);
}
}
function onData (response) {
datacoor = response;
console.log(datacoor);
}
function getColor (loc) {
var pais = loc;
var lat;
var long;
if (data1.hasOwnProperty(pais)) {
lat = data1.pais.lat;
console.log(lat);
}
}
问题出在这里:
function getColor (loc) {
var pais = loc;
var lat;
var long;
//data1 is a variable with the list of all countries and their coordinates
if (data1.hasOwnProperty(pais)) {
lat = data1.pais.lat;
console.log(lat);
}
}
它正在寻找对象 "pais" 而不是变量 "pais" 内的对象,我该如何解决这个问题?任何帮助表示赞赏
我猜你的意思是:
lat = data1[pais].lat;
pais
将被解释为一个字符串,并且应该按照您的意图通过使用变量 pais
的值获取 属性 来执行。
我正在使用 P5.JS 库创建一个应用程序,该应用程序显示一个动态地图,每个国家/地区都根据当前天气进行着色,这就是我目前所拥有的:
var colors = [];
var paises = ["AR", "BR", "CL", "CO", "GY", "PE", "PY", "UY", "BO", "VE", "EC", "GF", "SR"];
var datacoor;
var url1 = "https://chart.googleapis.com/chart?";
var arg1 = "cht=map&chs=600x500&chld="
var arg2 = "&chco=";
//var URL = url1+arguments;
var img;
function setup () {
createCanvas(500, 600);
img = createImg("https://chart.googleapis.com/chart?cht=map&chs=600x500&chld=AR|BR|CL|CO|GY|PE|PY|UY|BO|VE|EC|GF|SR&chco=B3BCC0|5781AE");
img.hide();
for (var a = 0; a < paises.length; a++){
colors.append(colors, color(getColor(paises[a])));
}
}
function draw () {
background(255);
noStroke();
fill(30);
textSize(35);
//text("zz ", 15, 45);
if (img) {
imageMode(CENTER);
image(img, width/2, height/2);
}
}
function onData (response) {
datacoor = response;
console.log(datacoor);
}
function getColor (loc) {
var pais = loc;
var lat;
var long;
if (data1.hasOwnProperty(pais)) {
lat = data1.pais.lat;
console.log(lat);
}
}
问题出在这里:
function getColor (loc) {
var pais = loc;
var lat;
var long;
//data1 is a variable with the list of all countries and their coordinates
if (data1.hasOwnProperty(pais)) {
lat = data1.pais.lat;
console.log(lat);
}
}
它正在寻找对象 "pais" 而不是变量 "pais" 内的对象,我该如何解决这个问题?任何帮助表示赞赏
我猜你的意思是:
lat = data1[pais].lat;
pais
将被解释为一个字符串,并且应该按照您的意图通过使用变量 pais
的值获取 属性 来执行。