2017-01-13 5 views
0

메신저의 특성을 읽을 수 없습니다 '위도'이 내가 지금까지 무엇을 가지고 :JS - 오류 : 현재 날씨 색깔의 각 나라와 dinamic지도를 보여줍니다 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); 
    } 

} 

here's 문제 :

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); 
    } 

} 

의 객체를 찾고 변수 "파이스 '의 내부 대신 객체의"파이 "내가이 문제를 해결할 수있는 방법?

lat = data1[pais].lat; 

pais 문자열로 해석됩니다, 변수 pais의 값을 가진 속성을 가져가 당신이 의도 한대로 행동해야한다 : 어떤 도움을 당신이해야 할 의미 추측거야

+0

입니다. 즉,'data1.pais'는 존재하지 않습니다. 이유를 알아 내기 위해 디버그하십시오. – Carcigenicate

+0

나는 그것이 무엇을 의미하고 어떤 문제인지를 안다. 나는 그것을 고치는 법을 모른다. – Pepe

+1

'data1'은 당신이 만든 객체이다. 'pais'가 할당 된 곳으로 이동하여 실제로 할당되고 있는지 확인하십시오. 이 코드를 게시하면 도움이 될 것입니다. – Carcigenicate

답변

1

감사 .

이것은 "bracket notation".

+0

감사합니다. – Pepe

+0

@ user87073 Javascript 객체는지도/사전/연관 배열 (사용자가 원하는 모든 것)이며, 배열과 매우 유사합니다. 'arr [0]'을 사용하면 배열의 첫 번째 요소를 얻을 수 있지만'dict [ "someProp"]'는 사전의 someProp 속성을 가져옵니다. 더 나은 이해를 얻으려면 답변에 게시 된 링크를 읽으십시오. – Carcigenicate