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

google天气预报gif图_google天气预报api

方法步骤(以安卓5.0为例)

一、打开GPS

二、点主屏的“天气”图标

三、点右上角三个点的图标

四、点“设定”

五、在下图右侧的三个红圈处打上钩,然后点“自动刷新”。

六、根据自己的需要选择自动刷新的时间

七、点“确定”退出

八、可以随时点刷新图标来手动刷新天气。

九、提示

1.适时刷新天气需要开启GPS定位。

2.在没有WIFI的地方刷新天气需要消耗一定的流量,刷新频率越高,消耗流量越多。

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

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

创建应用 如图:?

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

扩展资料:

??API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。?

API函数包含在Windows系统目录下的动态连接库文件中。Windows API是一套用来控制Windows的各个部件的外观和行为的预先定义的Windows函数。

参考资料:

百度百科-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("://api.map.baidu/telematics/v3/weather?location=".$city."&output=json&ak=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]?=>://api.map.baidu/images/weather/day/qing.png?

[nightPictureUrl]?=>://api.map.baidu/images/weather/night/qing.png?

[weather]?=>?晴?

[wind]?=>?西南风3-4级?

[temperature]?=>?13℃?

)?

[1]?=>?Array?

(?

[date]=>?周二?

[dayPictureUrl]?=>://api.map.baidu/images/weather/day/duoyun.png?

[nightPictureUrl]?=>?://api.map.baidu/images/weather/night/yin.png?

[weather]=>?多云转阴?

[wind]=>?东北风3-4级?

[temperature]?=>?24?~?9℃?

)?

[2]?=>?Array?

(?

[date]=>?周三?

[dayPictureUrl]?=>://api.map.baidu/images/weather/day/zhongyu.png?

[nightPictureUrl]?=>?://api.map.baidu/images/weather/night/xiaoyu.png?

[weather]=>?中雨转小雨?

[wind]=>?东北风3-4级?

[temperature]?=>?15?~?8℃?

)?

[3]?=>?Array?

(?

[date]=>?周四?

[dayPictureUrl]?=>://api.map.baidu/images/weather/day/duoyun.png?

[nightPictureUrl]?=>://api.map.baidu/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] =>://api.map.baidu/images/weather/day/qing.png

? [nightPictureUrl] =>://api.map.baidu/images/weather/night/qing.png

[weather] => 晴

? [wind] => 西南风3-4级

? [temperature] => 13℃

)

[1] => Array

(

[date]=> 周二

? [dayPictureUrl] =>://api.map.baidu/images/weather/day/duoyun.png

? [nightPictureUrl] => ://api.map.baidu/images/weather/night/yin.png

[weather]=> 多云转阴

[wind]=> 东北风3-4级

? [temperature] => 24 ~ 9℃

)

[2] => Array

(

[date]=> 周三

? [dayPictureUrl] =>://api.map.baidu/images/weather/day/zhongyu.png

? [nightPictureUrl] => ://api.map.baidu/images/weather/night/xiaoyu.png

[weather]=> 中雨转小雨

[wind]=> 东北风3-4级

? [temperature] => 15 ~ 8℃

)

[3] => Array

(

[date]=> 周四

? [dayPictureUrl] =>://api.map.baidu/images/weather/day/duoyun.png

[nightPictureUrl] =>://api.map.baidu/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("://api.map.baidu/telematics/v3/weather?location=".$city."&output=json&ak=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("://api.map.baidu/telematics/v3/weather?location=".$city."&output=json&ak=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、返回的内容如下: