나아가는 길에 발자국을 찍어보자

[개발 진행] 날씨 정보 제공 서비스(with Open API) 본문

Projects/여기어때(가제)[2020.1학기 종설]

[개발 진행] 날씨 정보 제공 서비스(with Open API)

NAWIN 2020. 5. 21. 09:57
반응형

기존에 사용하려던 오픈 API sk 날씨데이터 서비스가 종료가 되어 불가피하게 API를 바꾸게 되었다.

국내 Open API를 사용하려고 했지만 API를 찾던중 팀원분이 찾아온 API를 사용하게되었다.

미국 API라 날씨정보가 화씨인게...조금 당황스러웠지만 화씨에서 섭씨로 바꾸는건 계산하면 되니까

그냥 사용하기로 했다. (1학년때 c 언어 였나.. 배우면서 정수형 과 실수형을 이해하기 위해 실습으로 했던 기억이...ㅎ)

씨정보와 날씨그림까지 제공해 주기 때문에 사용하기 용이했다.

<사용한 OPEN API>

https://openweathermap.org/current

 

Current weather data - OpenWeatherMap

Access current weather data for any location on Earth including over 200,000 cities! Current weather is frequently updated based on global models and data from more than 40,000 weather stations. Data is available in JSON, XML, or HTML format. We provide 40

openweathermap.org


Republic of Korea의 ID값인 1835841과 회원가입해서 발급받은 개인키를 이용해 정보를 가져올 수 있다.
지역 이름으로도 가져올 수 있지만 나는 ID를 이용한 요청을 이용했다.

 

 

날씨 정보 가져오기

GET api.openweathermap.org/data/2.5/weather?id={city id}&appid={your api key}

API Response 예시

{"coord": { "lon": 139,"lat": 35},
  "weather": [
    {
      "id": 800,
      "main": "Clear",
      "description": "clear sky",
      "icon": "01n"
    }
  ],
  "base": "stations",
  "main": {
    "temp": 281.52,
    "feels_like": 278.99,
    "temp_min": 280.15,
    "temp_max": 283.71,
    "pressure": 1016,
    "humidity": 93
  },
  "wind": {
    "speed": 0.47,
    "deg": 107.538
  },
  "clouds": {
    "all": 2
  },
  "dt": 1560350192,
  "sys": {
    "type": 3,
    "id": 2019346,
    "message": 0.0065,
    "country": "JP",
    "sunrise": 1560281377,
    "sunset": 1560333478
  },
  "timezone": 32400,
  "id": 1851632,
  "name": "Shuzenji",
  "cod": 200
}

 

이미지 가져오기

this.img_url='http://openweathermap.org/img/wn/'+this.W_state.icon+'@2x.png';

* this.W_state.icon : get으로 가져온 데이터에서 아이콘 정보(weather.icon from response)를 가져와야한다

 

이미지 예시

https://openweathermap.org/weather-conditions

 

Weather Conditions - OpenWeatherMap

Weather Conditions Home Weather Conditions

openweathermap.org

 

=> 이미지는 낮과 밤으로 구분되어 있고, 생각보다 귀엽다.ㅋㅋㅋ

     약간 아쉬운건 밤의 clear sky부분. 달그림이었으면 더이뻣을것같은데... 아쉽다. 

 

 

실행 결과

-> 화씨에서 섭씨로 바꾸었다.( ==  섭씨 = 화씨 -273 )

반응형
Comments