나의보물들/API
[날씨 API] OpenWeatherMap API 사용해서 날씨 및 아이콘 받아오기
솔솔하네
2022. 9. 21. 09:50
반응형
0. HTML코드 작성한다.
<div id="mini_Div">
<img class="weatherIcon" width="30px;">
<br><b id="weatherName" style="font-size: 0.9em"></b>
</div>
1. OpenWeatherMap사이트에 들어간다.(https://openweathermap.org)
2. 회원가입 후 로그인을 한다.
3. 로그인을 완료하면 아래와 같이 창이 바뀌는데 [API Keys]메뉴를 클릭한다.
4. key 박스안에 있는 키값을 복사한 후 잠시 메모장이든 어디든 메모해둔다.
5. 상단 메뉴바의 [API]를 클릭한다.
6. Current Weather Data의 [API doc] 클릭한다.
7. 아래 코드 찾아서 복사한다.
8. JS파일에 복사한 코드를 붙여 넣는다.
(저는 도시이름을 'Paju'로 넣고 콘솔 찍어 보겠습니다.)
$.getJSON('https://api.openweathermap.org/data/2.5/weather?q={도시이름 넣기}&appid={처음에 복사한 key값 넣기}', function(data) {
console.log(data);
});
9. 브라우저에서 개발자 도구(F12)를 열어서 보면 'Paju'에 대한 날씨 데이터가 받아 와진걸 볼 수 있음.
10. 이 데이터를 활용해서 아래와 같이 작성한다.
$.getJSON('https://api.openweathermap.org/data/2.5/weather?q=Paju&appid=c1ca2e8c7d816fa7b87899849a331b68', function(data) {
const icon = data.weather[0].icon; //날싸 아이콘 번호
const iconUrl = `http://openweathermap.org/img/wn/${icon}@2x.png`; // 날씨 아이콘을 불러올 API
const temp = `${Math.round(Number(data.main.temp) - 273.15)}°C`; // 썹씨로 온도 계산
$('.weatherIcon').attr('src', iconUrl);
$('#weatherName').text(`오늘의 날씨 ${temp}`);
});
11. 그럼 아래와 같이 날씨 아이콘과 온도가 표시됩니다!