Android2011. 1. 27. 14:44

여기서 거론되는 "구글 날씨 API"는 사실 iGoogle 가젯을 위한 API이다. 하지만, 필요한 건 결과물만 있으면 되니까...^^ 

[Base URL]

가장 간단한 방법은 도시 명칭을 입력하는 것인데, 아래와 같이 seoul, new york 등 지역명칭을 넣으면 된다.
그런데, 이러한 방법은 지역을 설정하는 UI를 만들거나, 현재 위치가 어느 지역인지 알아내는 등의 방법이 필요하다.

http://www.google.com/ig/api?weather=[seoul , pusan ...]

위의 방법은 구현하는 사람이나 사용하는 사람이나 "귀찮다!!"
현재 위치로 바로 찾는 방법을 찾아보니 훌륭한 외국인(?)들이 이런저런 댓글을 달아놨다.

현재 위치를 입력해서 그 지역의 날씨를 얻어 오는 방법은 아래와 같다.

http://www.google.com/ig/api?weather=,,,36497695,127481491

콤마(,) 3개 ",,," 입력한 뒤, 위도-경도 순으로 입력을 한다. 위경도 사이에는 역시 콤마(,)를 입력한다. 
여기서 한 가지 중요한 점은 위도와 경도에 각각 1,000,000을 곱한 후 입력해야 하는 것이다.

(IE나 파이어폭스에서 주소를 넣어보면 XML 내용을 볼 수 있다.)

[언어 및 단위 설정하기]

ISO 코드를 설정하면, 언어 및 단위 등, 원하는 값을 얻을 수 있는데, 예를 들면, "&hl=en"을 설정하면 영어, mph, 화씨(Fahrenheit) 단위로 변하고, "&hl=ko"는 한국어, kph, 섭씨(Centigrade) 단위로 변한다.

[&hl=en를 설정한 결과]

[&hl=ko를 설정한 결과]


* 지원하는 주요 ISO 언어코드
"en", "da", "de", "es", "fi", "fr", "it", "ja", "ko", "nl", "no", "pt-BR", "ru", "sv", "zh-CN", "zh-TW"

Default는 "en"이기 때문에, 지원하지 않는 코드를 입력할 경우 결과는 영어로 전달된다.

[날씨의 종류]
* 아이콘 업데이트(날씨 아이콘 파일명이 모조리 변경되었다. 기존 개발자들이 곤혹을 겪는 중..)
정확한 날씨 리스트는 찾기 힘들다. 이번에는 친절한 외국인(?)이 노가다로 찾은 결과를 올려줬는데 이는 "아이콘 리스트"이다. 이 리스트가 99% 정확할 것이라고 하니 믿어봄직 하다. ^^ 뭐, 아이콘 명칭으로 대략 어떤 날씨인지 알 수 있을 것이다. 

/NEW 아이콘 리스트/
http://g0.gstatic.com/images/icons/onebox/weather_scatteredshowers-40.gif
http://g0.gstatic.com/images/icons/onebox/weather_sunny-40.gif
http://g0.gstatic.com/images/icons/onebox/weather_partlycloudy-40.gif
http://g0.gstatic.com/images/icons/onebox/weather_mostlycloudy-40.gif
http://g0.gstatic.com/images/icons/onebox/weather_rain-40.gif
http://g0.gstatic.com/images/icons/onebox/weather_cloudy-40.gif
http://g0.gstatic.com/images/icons/onebox/weather_drizzle-40.gif
http://g0.gstatic.com/images/icons/onebox/weather_heavyrain-40.gif
http://g0.gstatic.com/images/icons/onebox/weather_thunderstorms-40.gif
http://g0.gstatic.com/images/icons/onebox/weather_scatteredthunderstorms-40.gif
http://g0.gstatic.com/images/icons/onebox/weather_sleet-40.gif
http://g0.gstatic.com/images/icons/onebox/weather_snow-40.gif
http://g0.gstatic.com/images/icons/onebox/weather_icy-40.gif
http://g0.gstatic.com/images/icons/onebox/weather_dust-40.gif
http://g0.gstatic.com/images/icons/onebox/weather_fog-40.gif
http://g0.gstatic.com/images/icons/onebox/weather_smoke-40.gif
http://g0.gstatic.com/images/icons/onebox/weather_haze-40.gif
http://g0.gstatic.com/images/icons/onebox/weather_snowflurries-40.gif
http://g0.gstatic.com/images/icons/onebox/weather_overcast-40.gif
http://g0.gstatic.com/images/icons/onebox/weather_rainsnow-40.gif
http://g0.gstatic.com/images/icons/onebox/weather_windy-40.gif
http://g0.gstatic.com/images/icons/onebox/weather_heavysnow-40.gif
 
/OLD 아이콘 리스트/
http://www.google.com/images/weather/chance_of_rain.gif
http://www.google.com/images/weather/sunny.gif
http://www.google.com/images/weather/mostly_sunny.gif
http://www.google.com/images/weather/partly_cloudy.gif
http://www.google.com/images/weather/mostly_cloudy.gif
http://www.google.com/images/weather/chance_of_storm.gif
http://www.google.com/images/weather/rain.gif
http://www.google.com/images/weather/chance_of_rain.gif
http://www.google.com/images/weather/chance_of_snow.gif
http://www.google.com/images/weather/cloudy.gif
http://www.google.com/images/weather/mist.gif
http://www.google.com/images/weather/storm.gif
http://www.google.com/images/weather/thunderstorm.gif
http://www.google.com/images/weather/chance_of_tstorm.gif
http://www.google.com/images/weather/sleet.gif
http://www.google.com/images/weather/snow.gif
http://www.google.com/images/weather/icy.gif
http://www.google.com/images/weather/dust.gif
http://www.google.com/images/weather/fog.gif
http://www.google.com/images/weather/smoke.gif
http://www.google.com/images/weather/haze.gif
http://www.google.com/images/weather/flurries.gif

*아래 페이지에서 검색한 결과인데, 구글 아이콘의 퀄리티가 높지 않다고 생각했는지, 자신이 만든 아이콘을 나열해 놓았다. 무료인 것 같으니 사용해도 좋겠다. ^^ (이 아이콘 또한 예전 파일명이다. 새로운 날씨명칭에 대한 아이콘이 필요해졌다. ㅠ.ㅠ)
*한글로 된 날씨 명칭을 알면 좋겠는데, 진짜 노가다가 필요할 것 같다. 

[결과 사용하기]

구글 날씨 API는 결과값을 XML형태로 제공한다. XML만 분석하면 이런저런 기능으로 활용이 가능하다.
구글 날씨는 현재날씨, 오늘의 예상날씨, 이후 3일의 예상날씨를 제공한다.
제공되는 정보는 매우 적다.


[기타 다른 API]


[참고사항]

C#에서 구글 날씨 API 사용한 예

날씨 API에 대한 리뷰

iGoogle Dev Forum


Posted by 데브로망스