如何使用百度天气预报API接口

作者&投稿:柯朋 (若有异议请与网页底部的电邮联系)
如何使用百度天气预报API接口~

百度API Key申请地址:http://lbsyun.baidu.com/apiconsole/key
创建应用 如图:

提交后得到API Key ,运行结果如下:



扩展资料:
API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。
API函数包含在Windows系统目录下的动态连接库文件中。Windows API是一套用来控制Windows的各个部件的外观和行为的预先定义的Windows函数。
参考资料:百度百科-api接口

调用js获取接口,返回内容,操作dom;
$.getScript('http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js', function(_result) { if (remote_ip_info.ret == '1') { $.ajax({ type: "GET", dataType:"json", url: "http://wthrcdn.etouch.cn/weather_mini?city="+remote_ip_info.city, data: " ", success: function(msg){ console.log(msg); } }); }});(感悟生活,留住感动,jensonhui.com)

  1. 百度API Key申请地址:http://lbsyun.baidu.com/apiconsole/key

  2. 创建应用 如图: 

提交后得到API Key 如图: 

接口实例:http://api.map.baidu.com/telematics/v3/weather?location=南昌&output=json&ak=你的API Key&mcode=你的数字签名SHA1;com.example.administrator.jsontest(包名)

接口参数说明

参数类型

参数名称

是否必须

具体描述

String    location    true    输入城市名或经纬度,城市名如北京或者131,经纬度格式为lng,lat坐标,如:location=116.305145,39.982368;全国值为all,返回省会城市自治区,港澳台天气情况多城市天气预报中间用“|”分隔,如:location=116.305145,39.982368|123.342323,36238945|...    

String    output    false    输出的数据格式,默认为xml格式,当output设置为json时,输出的为json数据格式    

String    coord_type    false    请求参数坐标类型,默认为gcj02经纬度坐标。允许的值为bd09ll、bd09mc、gcj02、wgs84;    

返回的JSON数据

{
   "error":0,
   "status":"success",
   "date":"2016-03-05",
   "results":[
       {
           "currentCity":"北京",
           "pm25":"144",
           "index":[
               {
                   "title":"穿衣",
                   "zs":"较冷",
                   "tipt":"穿衣指数",
                   "des":"建议着厚外套加毛衣等服装。年老体弱者宜着大衣、呢外套加羊毛衫。"},
               {
                   "title":"洗车",
                   "zs":"不宜",
                   "tipt":"洗车指数",
                   "des":"不宜洗车,未来24小时内有扬沙或浮尘,如果在此期间洗车,极易很快蒙上新的灰尘。"},
               {
                   "title":"旅游",
                   "zs":"一般",
                   "tipt":"旅游指数",
                   "des":"风稍大,扬沙或浮尘天气对能见度和空气质量都会有些影响,出行请注意交通安全和采取适当的防尘措施。"},
               {
                   "title":"感冒",
                   "zs":"易发",
                   "tipt":"感冒指数",
                   "des":"昼夜温差大,风力较强,易发生感冒,请注意适当增减衣服,加强自我防护避免感冒。"},
               {
                   "title":"运动",
                   "zs":"较不宜",
                   "tipt":"运动指数",
                   "des":"有扬沙或浮尘,建议适当停止户外运动,选择在室内进行运动,以避免吸入更多沙尘,有损健康。"},
               {
                   "title":"紫外线强度",
                   "zs":"最弱",
                   "tipt":"紫外线强度指数",
                   "des":"属弱紫外线辐射天气,无需特别防护。若长期在户外,建议涂擦SPF在8-12之间的防晒护肤品。"}
          ],
 "weather_data":[
             {
                 "date":"周六 03月05日 (实时:12℃)",              "dayPictureUrl":"http://api.map.baidu.com/images/weather/day/fuchen.png",
   "nightPictureUrl":"http://api.map.baidu.com/images/weather/night/qing.png",
                 "weather":"浮尘转晴",
                 "wind":"北风4-5级",
                 "temperature":"12 ~ -1℃"},
 {
                 "date":"周日",
"dayPictureUrl":"http://api.map.baidu.com/images/weather/day/duoyun.png",
"nightPictureUrl":"http://api.map.baidu.com/images/weather/night/duoyun.png",
                 "weather":"多云",
                 "wind":"微风",
                 "temperature":"10 ~ -3℃"},
 {
                 "date":"周一",            "dayPictureUrl":"http://api.map.baidu.com/images/weather/day/duoyun.png",
"nightPictureUrl":"http://api.map.baidu.com/images/weather/night/yin.png",
                 "weather":"多云转阴",
                 "wind":"微风",
                 "temperature":"13 ~ 2℃"},
 {
                 "date":"周二",                "dayPictureUrl":"http://api.map.baidu.com/images/weather/day/yin.png",
"nightPictureUrl":"http://api.map.baidu.com/images/weather/night/duoyun.png",
             "weather":"阴转多云",
             "wind":"北风3-4级",
             "temperature":"6 ~ -1℃"}
 ]}]}

3.  我们来写个demo,代码如下:

package com.example.administrator.jsontest;

public class MainActivity extends Activity {
   private Button button;
   private TextView textView;
   private Handler handler = new Handler() {
       @Override
       public void handleMessage(Message msg) {
           switch (msg.what) {
               case 0:
                   String re = (String) msg.obj;
                   textView.setText(re);
                   break;
           }
       }
   };

   @Override
   protected void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);
       setContentView(R.layout.activity_main);
       button = (Button) findViewById(R.id.button);
       textView = (TextView) findViewById(R.id.textView);
       button.setOnClickListener(new View.OnClickListener() {
           @Override
           public void onClick(View v) {
               Log.i("TAG", "点击了Button");
               sendRequestWithHttpClient();
           }
       });
   }

   private void sendRequestWithHttpClient() {
       new Thread(new Runnable() {
           @Override
           public void run() {
               HttpURLConnection connection = null;
               try {
                   URL url = new URL("http://api.map.baidu.com/telematics/v3/weather?location=南昌&output=json&ak=8ixCCFzlBB617YX7tONI2P5B&mcode=1C:6B:42:33:E8:A6:DC:A2:11:6E:26:EC:84:BD:42:E3:8E:6B:57:9A;com.example.administrator.jsontest");
                   connection = (HttpURLConnection) url.openConnection();
                   connection.setRequestMethod("GET");
                   connection.setConnectTimeout(5000);
                   connection.setReadTimeout(5000);
                   InputStream in = connection.getInputStream();
                   BufferedReader reader = new BufferedReader(new InputStreamReader(in));
                   StringBuilder response = new StringBuilder();
                   String line;
                   while ((line = reader.readLine()) != null) {
                       response.append(line);
                   }
                   Log.i("TAG", response.toString());                    parseJSONObjectOrJSONArray(response.toString());
               } catch (MalformedURLException e) {
                   e.printStackTrace();
               } catch (IOException e) {
                   e.printStackTrace();
               }
           }
       }).start();
   }

   //解析JSON数据
   private void parseJSONObjectOrJSONArray(String jsonData) {
       try {
           String count = "";
           JSONObject jsonObject = new JSONObject(jsonData);
           JSONArray jsonArray = jsonObject.getJSONArray("results");
           if (jsonArray.length() > 0) {
               JSONObject object = jsonArray.getJSONObject(0);
               String city = object.optString("currentCity");
               JSONArray array = object.getJSONArray("weather_data");
               for (int i = 0; i < array.length(); i++) {
                   JSONObject jsonObject1 = array.getJSONObject(i);
                   String dateDay = jsonObject1.optString("date");
                   String weather = jsonObject1.optString("weather");
                   String wind = jsonObject1.optString("wind");
                   String temperature = jsonObject1.optString("temperature");
                   count =count +"
"+ dateDay + " " + weather + " " + wind + " " + temperature;
                   Log.i("AAA",count);
               }

               Message message = new Message();
               message.what = 0;
               message.obj = count;
               handler.sendMessage(message);
           }
       } catch (JSONException e) {
           e.printStackTrace();
       }
   }
}


4. 运行结果如下: 




小度怎么设置每天天气预报
1、首先打开小度智能屏,进入主页面。2、其次点击天气,找到定时预报。3、最后设置为每天天气预报即可。

如何操作天气软件
3. 设置所在地点 在使用天气预报软件之前,您需要将您所在的位置或常去的位置进行设置。在设置中,您可以选择自己所在的城市或者其他城市作为默认地点。如果您需要到外地旅游或者出差,也可以根据实际情况进行更改。4. 查看实时天气 在天气预报软件中,您可以随时查看本地的天气情况。常规的天气信息会显示...

如何使用百度天气预报API接口
String location true 输入城市名或经纬度,城市名如北京或者131,经纬度格式为lng,lat坐标,如:location=116.305145,39.982368;全国值为all,返回省会城市自治区,港澳台天气情况多城市天气预报中间用“|”分隔,如:location=116.305145,39.982368|123.342323,36238945|... String output false 输出的数据格式,默认为xml格式...

怎样用手机查以前的天气预报
如何在手机上查看以前的天气预报?首先,确保您的手机是荣耀60,操作系统为MagicUI50。接下来,使用以下步骤在手机上查找以前的天气预报:1. 打开手机上的浏览器12123011。2. 在浏览器的百度搜索页面输入“2345天气预报”进行搜索,并点击“百度一下”。3. 进入2345天气预报页面后,点击“历史天气”选项。

百度搜索页面怎么设置天气预报
把百度设为浏览器主页,然后登陆百度账号,左上角会自动出现天气告示

百度屏幕显示别的城市的天气预报怎么更改
1、将百度设为主页,登陆自己的百度账号,方便对主页进行管理 2、在百度主页的左上角,找到显示天气,这里显示十堰 3、鼠标放到北京上后,记得不要单击哦,弹出的对话框找到“设置"4、选择要更换的城市,并保存,这里以上海为例 5、选择更换城市上海后,更换后的结果如下图 ...

要打开天气预报还要百度干嘛?
天气预报只是一个天气预报功能而已,百度是可以捜索到你想知道的任何问题,显然,百度的功能强大不知多少倍,想知道天气,直接也可搜索天气即可出来,所以你这话应该反过来说,有百度还要打开天气预报干嘛!

哪个网站或者公众号、小程序可以查询实况天气呢?
1.中国天气网:中国天气网提供了小程序版,您可以通过微信搜索“中国天气”来找到他们的小程序,获取最新的天气信息。2.2345天气王:2345天气王是一款提供精准天气预报的应用,它可以提供全球经纬度任意查询,无论乡镇还是城市,当地温度、天气、风力、气压等信息尽在掌握中。3.随申气象台:通过“随申办...

手机怎么看天气预报以前的天气预报?
如何用手机查看以前的天气预报?首先,请确保您的手机是荣耀60,操作系统为MagicUI 5.0。以下是两种方法:方法一:使用浏览器 1. 打开手机上的浏览器。2. 在百度搜索框中输入“2345天气预报”并搜索。3. 进入2345天气预报页面后,点击“历史天气”。4. 您会看到您所在省会的最近天气情况。点击下方“...

为什么在百度里不能查看别的地方的天气预报呢?
可以的啊,你在百度首页里把鼠标移动到百度首页的天气上,然后点击右上角会看到设置,点击进去之后就会看到了,然后你找一下你要查询的地区就可以了

抚顺县18361074536: 在C语言怎样调用天气的API -
矣丽贝唐: 百度API Key申请地址:http://lbsyun.baidu.com/apiconsole/key 创建应用 如图: 提交后得到API Key 如图: 接口实例:http://api.map.baidu.com/telematics/v3/weather?location=南昌&output=json&ak=你的API Key&mcode=你的数字签名SHA1;com....

抚顺县18361074536: 如何在android实现调用网上的天气预报 -
矣丽贝唐: 下个GO天气,在桌面选项里有小插件,放到桌面开启自动更新就可以了.

抚顺县18361074536: asp.net前台页面怎么显示天气预报 -
矣丽贝唐: 调用中国天气网,或者新浪天气的接口(自行百度),按照人家的接口规范,解析天气信息,然后根据信息,自己写前台的显示信息,很简单的.

抚顺县18361074536: 如何用api调取天气数据存储在数据库中 -
矣丽贝唐: 如何用api调取天气数据存储在数据库中 你是在后台调用api,然后只用将值存在string中,然后按照json的数据格式来拆分就可以了.如:我以前做的一个天气api,只用string的substring来获取对应的数据就可以了,一般api中的json格式不会改变.

抚顺县18361074536: 如何使用百度api store -
矣丽贝唐: 搜索引擎中搜索百度 api store,找到百度 api store的官网,进入官网 打开官网后,首页展示各种api服务及常用的api服务 点击导航栏中的api服务或者首页查看全部,进入api分类列表页面 以数据服务-->生活常用为例.进入相关生活常用的api服务列表 选择我们常用的IP地址查询的api,点击进入IP地址查询页面,点击页面中的api页签 进入api页面,找到去调试 链接 输入你需查询的ip,就可以查询出ip的详细信息

抚顺县18361074536: android 的api使用方法 举个使用的例子 回答必给积分 -
矣丽贝唐: 如compareTo这个api是一个比较大小的api 以下是商店离手机用户距离的排序实例: // 开始排序 private void Sorting(ArrayList<Integer> temp_km, ArrayList<Integer> temp_Adv_id ) { // TODO Auto-generated method stub for (int i = 0; i < temp_km....

抚顺县18361074536: 怎么解决api调用接口的编码格式问题 -
矣丽贝唐: 最近,由于在自己开发的微信公众账号当中使用到便民服务--天气查询,便申请了百度api的天气预报接口.按照接口文档写完请求体的代码,在页面通过Struts去请求的时候,页面post方式传递过来的查询条件变成了乱码,所以导致调用百度api的接口是返回调用失败.另外,需要注意的是百度api提供的大多接口是以get方式获取数据的.调用接口的时候,将自己申请的api_key保存在请求头当中传递.不多说,上解决办法.由于

抚顺县18361074536: 如何调用百度地图API -
矣丽贝唐: 如果想在自己的网页上面加入百度地图的话,可以用百度地图的api.具体使用方法如下:第一步:进入百度创建地图的网站,搜索出自己要展示的位置.第二步:设置地图,大家可以对网站显示地图的宽高进行设置,其余选项不动.第三步:添加标注.点击第一个图标后,在右侧找到自己的位置,单击鼠标左键可定位.标记图标处可更换图标形状,名称和备注填入位置相关信息.第四步:获取代码.将代码贴到你的网页里就OK了.

抚顺县18361074536: 求教:官方API接口怎么使用 -
矣丽贝唐: 1. API :application programing interface2.在你的程序的前面添加 #include“windwos.h”3调用API函数的时候 最好在前面添加::, 例如 ::MessageBox(-------------);

抚顺县18361074536: 国内有哪些城市较完整可以免费使用的天气 API 接口 -
矣丽贝唐: 因微信公共号提供城市天气预报服务,发现网山天气预报接口和环境数据接口方面资料比较乱,而且有不少内容已经失效,下面内容由过程日志整理形成,希望可用得上.一 天气预报 国内的天气预报数据,主要是国家气象局和国外两个来源(指数据来源). 国外方面主要是雅虎(XML格式,谷歌已经停掉了自家的天气API); 国内数据由国家气象局提供(JSON格式). 在知乎看到过一篇专业人士评论,雅虎可以提供全球范围的且非常精细的天气数据(小时级更新),但主要是通过计算机自动生成.而国家气象局则是各地经验丰富的专家人士结合计算机综合分析得出,在准确性上更胜一筹.我就这样信了!

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网