百度天气api接口(天气API接口)

网友投稿 477 2023-02-03

本篇文章给大家谈谈百度天气api接口,以及天气API接口对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。 今天给各位分享百度天气api接口的知识,其中也会对天气API接口进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

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

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

创建应用 如图: 

提交后得到API Key 如图:

接口实例:http://api.map.baidu.com/telematics/v3/weather?location=南昌output=jsonak=你的API Keymcode=你的数字签名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=jsonak=8ixCCFzlBB617YX7tONI2P5Bmcode=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 +"\n"+ 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. 运行结果如下:

天气预报API接口是什么?

天气预报API接口是气象服务商为客户提供服务的唯一接口。拿墨迹赤必为例,跟客户充分沟通后了解客户的实际需求,从而对现有的数据进行调整,符合客户的需求形成API接口,让客户接入,这样就形成了一个完整的服务。所以说API接口并不是一个很神秘的东西,只不过是企业和客户之间的一条服务纽带。

ios 怎么使用百度天气api接口

百度天气api接口你可以用苹果原生的方法百度天气api接口,NSUrl,request,...四个步骤 当然实际的开发中可能这么写的 随着XML格式的不更新 json格式广泛应用 AFNetWorking框架广泛应用,在Github上面搜索 下载安装 之后按照文档就能调取api接口 实际开发中 项目量非常大 举个例子:如果你做的是电商项目 一个借口中有500商品 每个商品有20个属性 你不可能去一一的根据索引进行查找,以为数据量太大了 这是我们就应该用json-》model这种思想 把json编程对象里面的属性 方便我们取查找 这就是实际开发中网络框架的思想

调用百度天气的api时候跨域的问题

同源的问题,目前网上没有很好的解决百度天气api的方案。个人目前实行的方式是,先将api数据的通过file_get_contents获取JSON字符串,然后再用ajax调用.php函数file_get_contents应对百度天气接口

如何在android程序中使用百度api接口

百度地图、百度语音、百度导航、百度定位等等。
以下为使用百度天气提供的api,具有天气查询,城市设置,短信分享天气等基本功能,界面清爽,不过现在因为百度key的原因失效了,不能更新天气了。srceduswustiweatherwebUpdateWeather.java中的AK替换成自己申请的百度API KEY,申请地址http://lbsyun.baidu.com/apiconsole/key。代码有比较详细的注释。代码量也不大,有兴趣的朋友可以自己排查一下。项目编码UTF-8 默认编译版本4.2.2
Android应用源码使用百度天气的爱天气项目源码 Android应用源码使用百度天气的爱天气项目源码 Android应用源码使用百度天气的爱天气项目源码
文件夹 PATH 列表
卷序列号为 767E7528 000A:8F50
E:.
│ 070705 (1).png
│ 070705 (2).png
│ 070705 (3).png
│ javaapk.com文件列表生成工具.bat
│ 更多源码打包下载.url
│ 本源码使用帮助.txt
│ 目录列表.txt

└─iWeather
│ .classpath
│ .project
│ AndroidManifest.xml
│ ic_launcher-web.png
│ proguard-project.txt
│ project.properties

├─.settings
│ org.eclipse.core.resources.prefs
│ org.eclipse.jdt.core.prefs

├─assets
│ └─fonts
│ fangzhenglantingxianhe_GBK.ttf
│ HelveticaNeueLTPro-Lt.ttf


├─gen
│ └─edu
│ └─swust
│ └─iweather
│ BuildConfig.java
│ R.java

├─libs
│ │ locSDK_4.0.jar
│ │ wae-for-debug.jar
│ │
│ └─armeabi
│ liblocSDK4.so

├─res
│ ├─drawable
│ │ city_pressed_effect.xml
│ │ title_bar_image_pressed_effect.xml
│ │
│ ├─drawable-hdpi
│ │ bg_cloudy_day.jpg
│ │ bg_cloudy_night.jpg
│ │ bg_fine_day.jpg
│ │ bg_fine_night.jpg
│ │ bg_fog.jpg
│ │ bg_haze.jpg
│ │ bg_na.jpg
│ │ bg_overcast.jpg
│ │ bg_rain.jpg
│ │ bg_sand_storm.jpg
│ │ bg_snow.jpg
│ │ bg_thunder_storm.jpg
│ │ city_bg_pressed.9.png
│ │ drag_view_handle.png
│ │ icon.png
│ │ icon_search.png
│ │ ic_launcher.png
│ │ locate_indicator.png
│ │ search_input_bg.9.png
│ │ select_city_bg_cover.9.png
│ │ select_city_bg_default.jpg
│ │ temperature_small_img.png
│ │ title_bar_about.png
│ │ title_bar_back.png
│ │ title_bar_bg.9.png
│ │ title_bar_refresh.png
│ │ title_bar_shared.png
│ │ today_weather_extra_arrow.png
│ │ trend_bg_line.png
│ │ weather_forcast_bg.9.png
│ │ weather_forecast_icon.png
│ │ weather_icon_cloudy.png
│ │ weather_icon_fine.png
│ │ weather_icon_fog.png
│ │ weather_icon_hail.png
│ │ weather_icon_overcast.png
│ │ weather_icon_rain_big.png
│ │ weather_icon_rain_middle.png
│ │ weather_icon_rain_small.png
│ │ weather_icon_rain_snow.png
│ │ weather_icon_rain_storm.png
│ │ weather_icon_sand_storm.png
│ │ weather_icon_sleet.png
│ │ weather_icon_snow_big.png
│ │ weather_icon_snow_middle.png
│ │ weather_icon_snow_small.png
│ │ weather_icon_snow_storm.png
│ │ weather_icon_thunder_storm.png
│ │ weather_img_cloudy_day.png
│ │ weather_img_cloudy_night.png
│ │ weather_img_fine_day.png
│ │ weather_img_fine_night.png
│ │ weather_img_fog.png
│ │ weather_img_hail.png
│ │ weather_img_overcast.png
│ │ weather_img_rain_big.png
│ │ weather_img_rain_middle.png
│ │ weather_img_rain_small.png
│ │ weather_img_rain_snow.png
│ │ weather_img_rain_storm.png
│ │ weather_img_sand_storm.png
│ │ weather_img_sleet.png
│ │ weather_img_snow_big.png
│ │ weather_img_snow_middle.png
│ │ weather_img_snow_small.png
│ │ weather_img_snow_storm.png
│ │ weather_img_thunder_storm.png
│ │ welcome_bg.jpg
│ │ welcome_icon.png
│ │ wind_samll_img.png
│ │
│ ├─drawable-ldpi
│ │ icon.png
│ │
│ ├─drawable-mdpi
│ │ icon.png
│ │ ic_launcher.png
│ │
│ ├─drawable-xhdpi
│ │ icon.png
│ │ ic_launcher.png
│ │
│ ├─drawable-xxhdpi
│ │ icon.png
│ │
│ ├─layout
│ │ city_item.xml
│ │ select_city.xml
│ │ weather.xml
│ │ weather_dialog.xml
│ │ weather_forecast_item.xml
│ │ welcome.xml
│ │
│ └─values
│ colors.xml
│ dimens.xml
│ strings.xml
│ styles.xml

└─src
└─edu
└─swust
└─iweather
│ SelectCity.java
│ Weather.java
│ Welcome.java

├─util
│ Utils.java

└─web
SinaWeather.java
UpdateWeather.java

如何使用PHP调用API接口实现天气查询功能

最近在做微信公众平台测试时,想在里面子菜单上添加查询未来几天(包括今天)天气的功能,就查找了下好用的天气预报查询接口API,使用比较多的有:国家气象局天气接口、新浪天气预报接口、百度天气预报接口、google天气接口、Yahoo天气接口等等,我使用的是百度提供的免费天气查询接口API,下面与大家分享下...

1、查询方式:

百度提供的是根据纬度和城市名查询天气情况

2、接口事例:

3、接口参数说明:


4、返回结果说明:


5、

//城市名

$city = '上海';

//对json格式的字符串进行编码

$arr =json_decode($str,TRUE);

print_r($atr);

//城市名
   $city = '上海';
 
   //获取json格式的数据
   $str =file_get_contents("http://api.map.baidu.com/telematics/v3/weather?location=".$city."output=jsonak=5slgyqGDENN7Sy7pw29IUvrZ");

   //对json格式的字符串进行编码
   $arr =json_decode($str,TRUE);      

   print_r($atr);

6、返回页面的是json编码后的数据:

[plain] view plain copy print?

<meta charset="UTF-8"

Array

(

[error] = 0

[status] = success

[date] = 2014-03-17

[results] = Array

(

[0] = Array

(

[currentCity]= 上海

[weather_data]= Array

(

[0]= Array

(

[date] = 周一(今天, 实时:19℃)

[dayPictureUrl] =http://api.map.baidu.com/images/weather/day/qing.png

[nightPictureUrl] =http://api.map.baidu.com/images/weather/night/qing.png

[weather] = 晴

[wind] = 西南风3-4级

[temperature] = 13℃

)

[1] = Array

(

[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]= 东北风3-4级

[temperature] = 24 ~ 9℃

)

[2] = Array

(

[date]= 周三

[dayPictureUrl] =http://api.map.baidu.com/images/weather/day/zhongyu.png

[nightPictureUrl] = http://api.map.baidu.com/images/weather/night/xiaoyu.png

[weather]= 中雨转小雨

[wind]= 东北风3-4级

[temperature] = 15 ~ 8℃

)

[3] = Array

(

[date]= 周四

[dayPictureUrl] =http://api.map.baidu.com/images/weather/day/duoyun.png

[nightPictureUrl] =http://api.map.baidu.com/images/weather/night/qing.png

[weather]= 多云转晴

[wind]= 北风3-4级

[temperature] = 14 ~ 6℃

)

)

)

)

)

<meta charset="UTF-8"
Array
(
   [error] = 0
   [status] = success
   [date] = 2014-03-17
   [results] = Array
       (
           [0] = Array
               (
                   [currentCity]= 上海
                   [weather_data]= Array
                       (
                           [0]= Array
                               (
                                  [date] = 周一(今天, 实时:19℃)
                                  [dayPictureUrl] =http://api.map.baidu.com/images/weather/day/qing.png
                                  [nightPictureUrl] =http://api.map.baidu.com/images/weather/night/qing.png
                                   [weather] = 晴
                                  [wind] = 西南风3-4级
                                  [temperature] = 13℃
                               )

                           [1] = Array
                               (
                                   [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]= 东北风3-4级
                                  [temperature] = 24 ~ 9℃
                               )

                           [2] = Array
                               (
                                   [date]= 周三
                                  [dayPictureUrl] =http://api.map.baidu.com/images/weather/day/zhongyu.png
                                  [nightPictureUrl] = http://api.map.baidu.com/images/weather/night/xiaoyu.png
                                   [weather]= 中雨转小雨
                                   [wind]= 东北风3-4级
                                  [temperature] = 15 ~ 8℃
                               )

                           [3] = Array
                               (
                                   [date]= 周四
                                  [dayPictureUrl] =http://api.map.baidu.com/images/weather/day/duoyun.png
                                   [nightPictureUrl] =http://api.map.baidu.com/images/weather/night/qing.png
                                   [weather]= 多云转晴
                                   [wind]= 北风3-4级
                                  [temperature] = 14 ~ 6℃
                               )

                       )

               )

       )

)

7、PHP中自带了处理json格式字符串的内置函数,下面做一个事例,并给出完整代码:

[php] view plain copy print?

<metacharset="UTF-8"

<?php

//城市名

$city = '上海';

//获取json格式的数据

$str = file_get_contents("http://api.map.baidu.com/telematics/v3/weather?location=".$city."output=jsonak=5slgyqGDENN7Sy7pw29IUvrZ");

//对json格式的字符串进行编码

$arr = json_decode($str,TRUE);

echo "城市:".$arr['results'][0]['currentCity']." 日期:".$arr['date']."<br /<br /";

foreach($arr['results'][0]['weather_data']as $val)

{

echo $val['date']."<br/";

echo "天气:{$val['weather']}<br/";

echo "风向:{$val['wind']}<br/";

echo "温度:{$val['temperature']}<br/<br /";

}

?

<metacharset="UTF-8"
<?php
   //城市名
   $city = '上海';
 
   //获取json格式的数据
   $str = file_get_contents("http://api.map.baidu.com/telematics/v3/weather?location=".$city."output=jsonak=5slgyqGDENN7Sy7pw29IUvrZ");

   //对json格式的字符串进行编码
   $arr = json_decode($str,TRUE);      

   echo "城市:".$arr['results'][0]['currentCity']." 日期:".$arr['date']."<br /<br /";

   foreach($arr['results'][0]['weather_data']as $val)
   {
       echo $val['date']."<br/";
       echo "天气:{$val['weather']}<br/";
       echo "风向:{$val['wind']}<br/";
       echo "温度:{$val['temperature']}<br/<br /";
   }
?

8、返回的内容如下:


关于百度天气api接口和天气API接口的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。 百度天气api接口的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于天气API接口、百度天气api接口的信息别忘了在本站进行查找喔。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:百度天气接口api(百度天气预报api)
下一篇:php调用api接口(php调用api接口教程)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~