저는 JavaScript의 초보자입니다. 이제 그 일이 끝났을 때, 나는 아주 이상한 실수를 경험하고 있습니다. 현재 위치에서 현재 날씨를 표시하는 응용 프로그램을 작성 중이며 이렇게하려면 날씨 데이터에 대한 API 호출을해야했습니다. 나는 here에서 날씨 데이터를 얻었고 처음에는 내 코드가 작동 중이었고 (주어진 위도와 경도에 대한) 지역 날씨를 얻는 중이었습니다. 그러나 기능을 추가하기 위해 코드를 편집하고 코드가 갑자기 작동하지 않게되었습니다. 나는 그것을 고치려고 노력했지만 난 부끄럽다. 나는 무엇이 망가 졌는지 전혀 모른다. 나는 너희들이 도울 수 있기를 바라고있다 !!
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(function(position) {
lat = position.coords.latitude;
long = position.coords.longitude;
console.log(lat);
$.get('http://api.openweathermap.org/data/2.5/weather?lat=' + lat + '&lon=' + long + '&appid=00d71b03a3c50910d8f4f0ea51703bb5', function(data) {
console.log(data);
if(lat == 300 || long == 300) {
alert("Enable your location to see how the weather is");
} else {
$("#location").text(data.name);
var weather = data.weather[0].description;
$("#weather").text(weather);
temp = Math.round((data.main.temp - 273.15) * 10)/10.0;
$("#temperature").text(temp + "\u00B0 C");
var icon = data.weather[0].icon;
$("#picture").attr("src", "http://openweathermap.org/img/w/" + icon + ".png");
}
});
});
};
내가 무슨 일이 일어나고 있는지 확인하기 위해 API 호출 아래에 console.log(data)
를 넣어,하지만 아무것도 출력하지 않습니다 :
여기 참조를 위해 내 코드입니다. 매우 혼란스럽게 도와주세요!
문제는 다른 곳이다 ..'$ .get'가 .. 여기에 데이터가 있어야 요청의 결과를 반환해야' data.data'를 호출합니다. 왜냐하면 당신은 결과를'data'라고 부르기 때문입니다. –
코드가 제 코드에서 작동합니다. jquery로 document.ready 이벤트에서 로컬로 실행하고있다. 그러나 여기서는 스택 스 니펫에서 작동하지 않습니다. 어떤 환경에서 뛰고 있습니까? – ThisClark
예 .. 나는 틀렸다. 잠시 jQuery로 작업 한 적이 없다. 각도가있는 IHttpService에 익숙하다. 자동으로 result.data가 반환된다. –