js獲取天氣


  我們經常看到有的網站顯示天氣信息,它是怎么實現的呢?今天就來分享一些關於js調用天氣API的幾種做法。  

  網上也能找到很多種方法,但是一般都是免費的不好用,好用的不免費。

  以前用過新浪的天氣api,查詢當天和明天的天氣還湊合(雖然不是很准),后來有一個要查詢七天的需求,試了好多次都不行,只能另辟蹊徑了。

  在網上找到一個www.k780.com/ 貌似是國外的,需要注冊一下,得到接口需要的參數appkey和sign值,目前是不收費的,下面就把代碼粘出來,附帶注釋

var paramUrl = "http://api.k780.com:88/?app=weather.future&weaid=" + url + "&appkey=" + appkey + "&sign=27c89ecea48a0e28f9c25f23be6a4e40&format=json";
    $.ajax({
        url: paramUrl,
        type: "get",
        dataType: "jsonp",
        jsonp: 'jsoncallback',
        async: false,
        data: "",
       // success: eval(funback)   封裝成方法時,這里是回調參數名稱
         success:function(data){
            //這里處理返回的結果  json格式的
          }
    });

 其中weaid:地址,可以是名稱可以是IP,appkey sign是注冊獲取的

返回的結果,返回七天的值,這里只截取了一天的,其中值得一提的是weather_icon字段,天氣的圖片,有幾個版本的大圖小圖,可以在網站上下載

{"success":"1","result":[{"weaid":"2071","days":"2016-06-01","week":"星期三","cityno":"hbyangxin","citynm":"陽新","cityid":"101200603","temperature":"28℃/20℃","humidity":"0℉/0℉","weather":"暴雨轉小雨","weather_icon":"http://api.k780.com:88/upload/weather/d/10.gif","weather_icon1":"http://api.k780.com:88/upload/weather/n/7.gif","wind":"北風","winp":"3-4級","temp_high":"28","temp_low":"20","humi_high":"0","humi_low":"0","weatid":"11","weatid1":"8","windid":"20","winpid":"14"}]}

總起來說這個還是比較蠻好用的,參數少,返回值清晰齊全。存在ajax請求跨域問題,現在還沒搞太清楚,使用是沒問題的,等搞明白了再來補充

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM