Yahoo => http://xml.weather.yahoo.com
MSN
片片段段: "首先呢我們先看參數的傳法,它需要指定是哪一個都市代碼與使用華氏或是攝氏,以下是我們使用的範例: http://weather.msn.com/data.aspx?wealocations=wc:TWXX0021&weadegreetype=C 一般我們習慣使用的是weadegreetype=C,當然你也可以改成 weadegreetype=F wealocations 參數要傳入都市代碼,你可以到http://weather.msn.com/region.aspx?wealocations=Taiwan 查看這個API提供了哪些都市供查詢,我想大部分的人看到這些地名的拼音,應該是猜不出來是哪裡吧! 沒關係,我在網路上發現了有好心人士把它翻譯成中文的地名,我再加上代碼方便大家查用
Taipei, TWN:台灣-台北 wealocations=wc:TWXX0021
Pan-ch'iao, TWN:台灣-台北-板橋市 wealocations=wc:10028648
San-ch'ung, TWN:台灣-台北-三重市 wealocations=wc:29496
Yung-ho, TWN:台灣-台北-永和市 wealocations=wc:37364
Hsin-chuang, TWN:台灣-台北-新莊市 wealocations=wc:14392
Hsin-tien, TWN:台灣-台北-新店市 wealocations=wc:TWXX0010
Chilung, TWN:台灣-基隆 wealocations=wc:TWXX0003
T'ao-yuan, TWN:台灣-桃園 wealocations=wc:TWXX0025
Chung-li, TWN:台灣-桃園-中壢市 wealocations=wc:7371127
Hsin-chu, TWN:台灣-新竹 wealocations=wc:TWXX0009
Chu-tung, TWN:台灣-新竹-竹東鎮 wealocations=wc:TWXX0006
Chu-nan, TWN:台灣-苗栗-竹南鎮 wealocations=wc:10034496
T'aichung, TWN:台灣-台中 wealocations=wc:TWXX0019
Chang-hua, TWN:台灣-彰化 wealocations=wc:TWXX0001
Chiayi, TWN:台灣-嘉義 wealocations=wc:TWXX0002
T'ainan, TWN:台灣-台南 wealocations=wc:32433
Yung-k'ang, TWN:台灣-台南-永康市 wealocations=wc:10480429
Kaohsiung, TWN:台灣-高雄 wealocations=wc:16133
Feng-shan, TWN:台灣-高雄-鳳山市 wealocations=wc:10209491
P'ingtung, TWN:台灣-屏東 wealocations=wc:24933
O-luan-pi, TWN:台灣-屏東-鵝鑾鼻 wealocations=wc:7365022
T'ai-tung, TWN:台灣-台東 wealocations=wc:32435
Ch'eng-kung-chen, TWN:台灣-台東-成功鎮 wealocations=wc:7372779
Pei-nan, TWN:台灣-台東-卑南鄉 wealocations=wc:10209499
Hua-lien, TWN:台灣-花蓮 wealocations=wc:TWXX0011
Yu-li, TWN:台灣-花蓮-玉裡鎮 wealocations=wc:7359057
Fu-li, TWN:台灣-花蓮-富裡鄉 wealocations=wc:7370247
Kuang-fu, TWN:台灣-花蓮-光復鄉 wealocations=wc:10209389
Makung, TWN:台灣-澎湖-馬公市 wealocations=wc:10107142
Wu-shih-pi, TWN 台東縣-烏石鼻 wealocations=wc:7359486
接下來我們來看看回傳的XML架構,
-
-
temperature為目前溫度沒問題,skycode為天氣概況編碼,可以利用這個編碼顯示出氣象狀態的小圖,方法如下
"http://st.msn.com/as/wea3/i/en-US/law/" + skyCode + ".gif"
skytext為氣象概況文字,若是我想顯示英文那就沒問題,若是想顯示中文就難了,因為根本不知道有幾種,沒辦法寫中英對應表
我看到對岸有人用了一個方法,因為skycode為連續的編號,所以他把所有氣象狀態的小圖都秀出來,自己看著圖翻譯成中文
還蠻妙的..我寫了Function方便使用:
Function toChineseString(ByVal skyCode As String) As String
Select Case skyCode
Case "26", "27"
Return "陰"
Case "35", "39", "45", "46"
Return "小雨"
Case "19", "20", "21", "22"
Return "霧"
Case "29", "28", "30", "33"
Return "多雲"
Case "5", "13", "14", "15", "16", "18", "25", "41", "42"
Return "雪"
Case "1", "2", "3", "4", "37", "38", "47"
Return "雷雨"
Case "31", "32", "34", "36", "44"
Return "晴"
Case "23", "24"
Return "中到大風"
Case "9", "10", "11", "12", "40"
Return "中到大雨"
Case "6", "7", "8", "17"
Return "冰雹"
Case Else
Return "晴"
End Select
End Function
1 則留言:
I agree with told all above.
張貼留言