http://www.google.com/ig/api?hl=zh-cn&weather=94043
(94043 為 山景城, 美國加州 的郵政編碼)
而除了美國以外的地區須要使用經緯度坐標作為參數才干運行 Google Weather API, 比如:
http://www.google.com/ig/api?hl=zh-cn&weather=,,,30670000,104019996
(30670000,104019996 為 成都, 中國大陸 的經緯度坐標)
當然,也可能通行城市名稱的漢語拼音來查詢,比如:下面是北京的天氣
http://www.google.com/ig/api?weather=Beijing
要其他地區的經緯度坐標,能夠通過 Google API 提供的國家代碼列表及對應的城市經緯度坐標列表能夠查詢到,下面是 Google API 提供的查詢參數:
http://www.google.com/ig/countries?output=xml&hl=zh-cn
(查詢 Google 所支持的全部國家的代碼,並以 zh-cn 中文簡體顯示)
http://www.google.com/ig/cities?output=xml&hl=zh-cn&country=cn
Google開放了一套天氣預報API,還是非常好用的。
使用郵政編碼(美國)
http://www.google.com/ig/api?hl=zh-cn&weather=94043(加州山景城)
使用經度緯度坐標
http://www.google.com/ig/api?hl=zh-cn&weather=,,,30670000,104019996(成都)
使用通行城市名稱
http://www.google.com/ig/api?weather=Beijing&hl=zh-cn(北京)
http://www.google.com/ig/api?weather=Osaka&hl=zh-cn(大阪)
或
http://www.google.com/ig/api?weather=Beijing&hl=zh(北京)
http://www.google.com/ig/api?weather=Osaka&hl=ja(大阪)
能夠查找到哪些國家和城市呢?谷歌也提供了接口。返回的類型也能夠依據output參數來指定。
查找國家 http://www.google.com/ig/countries?output=xml&hl=zh-cn (返回xml)
查找城市 http://www.google.com/ig/cities?hl=zh-cn&country=cn (返回json)
有了這些數據,在自己的應用里增加天氣預報就不難了。
谷歌的天氣預報API。長處在於能夠直接獲取支持查詢天氣的國家和城市。而且能夠預報4天天氣,支持經緯度查詢天氣(這個能夠利用GPS做應用)。
缺點也是驚人的:支持的中國城市比較少。詳細有啥能夠通過 http://www.google.com/ig/cities?hl=zh-cn&country=cn查詢。
----------------------------------------------------------------------------------------------------------------------------------
雅虎天氣API
yahoo天氣預報的url是
http://weather.yahooapis.com/forecastrss?w=2151330&u=c(返回的是XML數據)
說說里面參數代表的意思:
參數w相應各個地方在yahoo數據庫中的WOEID,如北京的WOEID是2151330,眼下也能夠用參數p來取代w,只是官方還是推薦用w,貌似p是計划要被取消的。參數u用於確定溫度的單位(c是攝氏度f是華氏度)。對於中國(國外沒比較)的天氣查詢來說,YAHOO相對不管從能查到的地方還是預報的內容都是比較全的。
獲取地址編號
地址編號必須是一個WOEID,你能夠通過雅虎的天氣預報首頁查詢你須要的地址編號。這個編號在
你想要的那個城市天氣預報頁的URL中。你也能夠通過在首頁中輸入你的郵政編碼查詢WOEID。比如,你想查詢廣州的天氣情況,這個城市的天氣預報頁的URL是
http://weather.yahooapis.com/forecastrss?p=CHXX0037&u=c,所以它的WOEID是0037.
這里提供一份網上搜索到的雅虎天氣預報城市代碼:雅虎天氣預報城市代碼
雅虎天氣開發人員: http://developer.yahoo.com/weather/
長處:也沒發現啥非常特別的長處。只是我搜集到的城市代碼感覺較全(畢竟沒有真正核對過)。
缺點:僅僅能預報兩天天氣
補充:
能夠通過以下的URL來得到WOEID:
http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20geo.places%20where%20text%3D%22shanghai%22&diagnostics=true
替換url中的城市名,查詢到的結果里woeid就是代碼。
假設想直接查詢能夠登陸http://developer.yahoo.com/yql/console/ 查詢 geo.places 就能夠獲得。雅虎數據庫還能夠查到其它有趣的東西。
通過經緯度獲取WOEID(沒有驗證)
http://query.yahooapis.com/v1/public/yql?q=select * from flickr.places where lon=%f and lat=%f and accuracy=6(沒有驗證)
http://query.yahooapis.com/v1/public/yql?q=select * from geo.places where lon=%f and lat=%f and accuracy=6(沒有驗證)
---------------------------------------------------------------------------------------------------------------------------------------------
最后介紹的是中央氣象台的API:
依據 以下的接口可獲得城市天氣情況
http://www.weather.com.cn/data/sk/101010100.html
http://www.weather.com.cn/data/cityinfo/101010100.html
http://m.weather.com.cn/data/101010100.html
返回的是json數據。上面三個url返回的數據是不一樣的。詳細自己嘗試吧。數據非常全,101010100是北京的城市代碼,所以還是須要城市代碼的。提供一份非常不全的城市代碼吧。我搜索非常久得到的。大約有20個左右省份。地區能詳細到縣城。中央氣象台城市代碼(不全) rayyu1989分享的較全的APIhttp://dl.vmall.com/c0diylrr6a
中央氣象台城市代碼: http://blog.csdn.net/ztp800201/article/details/10169863
長處:非常具體的信息。我非常喜歡這種數據。
缺點:城市代碼不全。。。。假設誰有全的城市代碼,麻煩給我一份。
PS:假設要查看天氣數據格式或者詳細類型。能夠直接復制鏈接到瀏覽器運行就能看到數據了。