標籤:style class blog http tar ext
Google Weather API 僅僅支援美國地區使用郵遞區號進行查詢,比如:
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(大阪)
能夠尋找到哪些國家和城市呢?Google也提供了介面。返回的類型也能夠依據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)
有了這些資料,在自己的應用裡增加天氣預報就不難了。
Google的天氣預報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:假設要查看天氣資料格式或者詳細類型。能夠直接複製連結到瀏覽器運行就能看到資料了。