1. 程式人生 > >天氣預報介面api

天氣預報介面api

分享一個天氣預報的介面

我用的是和風天氣的介面,這個免費的使用者只能獲取三天的天氣

https://free-api.heweather.com/v5/weather?city=城市&key=你的key值

城市可以是拼音或漢字,key在他的網站註冊的時候會生成一個key值,個人認為相對於其他的介面,key的獲取比較簡單

我們可以通過ajax請求,返回json資料

  ajax('post', 'https://free-api.heweather.com/v5/weather?city=青島&key=你的key值, '', function (data) {
                var data = JSON.parse(data) 
                var status = date.HeWeather5[0].status;            //如果請求成功

                console.log(data) 

})

得到如下的資料

但是要注意,返回的資料,對應的值或許為空,所以要做好判斷(比如aqi.co:' ' 有時為空)

{
    "HeWeather5": [
        {
            "alarms": [
                {
                    "level": "藍色",
                    "stat": "預警中",
                    "title": "山東省青島市氣象臺釋出大風藍色預警",
                    "txt": "青島市氣象臺2016年08月29日15時24分繼續釋出大風藍色預警訊號:預計今天下午到明天,我市北風風力海上6到7級陣風9級,陸地4到5陣風7級,請注意防範。",
                    "type": "大風"
                }
            ],
            "aqi": {
                "city": {
                    "aqi": "60",
                    "co": "0",
                    "no2": "14",
                    "o3": "95",
                    "pm10": "67",
                    "pm25": "15",
                    "qlty": "良",  //共六個級別,分別:優,良,輕度汙染,中度汙染,重度汙染,嚴重汙染
                    "so2": "10"
                }
            },
            "basic": {
                "city": "青島",
                "cnty": "中國",
                "id": "CN101120201",
                "lat": "36.088000",
                "lon": "120.343000",
                "prov": "山東"  //城市所屬省份(僅限國內城市)
                "update": {
                    "loc": "2016-08-30 11:52",
                    "utc": "2016-08-30 03:52"
                }
            },
            "daily_forecast": [
                {
                    "astro": {
                        "mr": "03:09",
                        "ms": "17:06",
                        "sr": "05:28",
                        "ss": "18:29"
                    },
                    "cond": {
                        "code_d": "100",
                        "code_n": "100",
                        "txt_d": "晴",
                        "txt_n": "晴"
                    },
                    "date": "2016-08-30",
                    "hum": "45",
                    "pcpn": "0.0",
                    "pop": "8",
                    "pres": "1005",
                    "tmp": {
                        "max": "29",
                        "min": "22"
                    },
                    "vis": "10",
                    "wind": {
                        "deg": "339",
                        "dir": "北風",
                        "sc": "4-5",
                        "spd": "24"
                    }
                }
            ],
            "hourly_forecast": [
                {
                    "cond": {
                        "code": "100",
                        "txt": "晴"
                    },
                    "date": "2016-08-30 12:00",
                    "hum": "47",
                    "pop": "0",
                    "pres": "1006",
                    "tmp": "29",
                    "wind": {
                        "deg": "335",
                        "dir": "西北風",
                        "sc": "4-5",
                        "spd": "36"
                    }
                }
            ],
            "now": {
                "cond": {
                    "code": "100",
                    "txt": "晴"
                },
                "fl": "28",
                "hum": "41",
                "pcpn": "0",
                "pres": "1005",
                "tmp": "26",
                "vis": "10",
                "wind": {
                    "deg": "330",
                    "dir": "西北風",
                    "sc": "6-7",
                    "spd": "34"
                }
            },
            "status": "ok",
            "suggestion": {
                "comf": {
                    "brf": "較舒適",
                    "txt": "白天天氣晴好,您在這種天氣條件下,會感覺早晚涼爽、舒適,午後偏熱。"
                },
                "cw": {
                    "brf": "較不宜",
                    "txt": "較不宜洗車,未來一天無雨,風力較大,如果執意擦洗汽車,要做好蒙上汙垢的心理準備。"
                },
                "drsg": {
                    "brf": "熱",
                    "txt": "天氣熱,建議著短裙、短褲、短薄外套、T恤等夏季服裝。"
                },
                "flu": {
                    "brf": "較易發",
                    "txt": "雖然溫度適宜但風力較大,仍較易發生感冒,體質較弱的朋友請注意適當防護。"
                },
                "sport": {
                    "brf": "較適宜",
                    "txt": "天氣較好,但風力較大,推薦您進行室內運動,若在戶外運動請注意防風。"
                },
                "trav": {
                    "brf": "適宜",
                    "txt": "天氣較好,風稍大,但溫度適宜,是個好天氣哦。適宜旅遊,您可以盡情地享受大自然的無限風光。"
                },
                "uv": {
                    "brf": "強",
                    "txt": "紫外線輻射強,建議塗擦SPF20左右、PA++的防晒護膚品。避免在10點至14點暴露於日光下。"
                }
            }
        }
    ]
}

最後附上 介面的網站(非廣告)https://www.heweather.com/documents/api/v5/weather