付费下载
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、基于PHP的聚合数据天气预报api调用示例本代码示例是基于PHP的聚合数据天气预报api服务请求的代码样例,使用前你需要:通过样例代码包含了获取支持城市列表、根据城市获取天气预报、根据IP地址请求天气预报、根据GPS坐标请求天气、城市3小时天气预报的实现。示例代码主要是解析一些常用字段,如需要完整或其他未包含的字段,可以自行参考官方的接口,进行修改。首先:引入封装好的天气调用类header('Content-type:text/html;charset=utf-8');include'class.juhe.weather.php'/引入天气请求类/接口基本信息配
2、置$appkey='*;/您申请的天气查询appkey$weather=newweather($appkey);一、获取支持的城市列表由于支持的城市列表基本不会这么变化,大家可以获取到列表后内置到自己的应用中,就不用每次都去请求API。$citysResult=$weather->getCitys();if($citysResult'error_code'=0)/以下可根据实际业务需求,自行改写/$citys=$citysResult'result'foreach($citysas$ckey=>$c)echo"ID:".$
3、c'id'.",省份:".$c'province'.",城市:".$c'city'.",区域:".$c'district'."<br>"else/以下可根据实际业务需求,自行改写/echo$citysResult'error_code'.":".$citysResult'reason'二、根据城市/ID获取天气预报通过城市的名称或城市的ID来获取天气预报,城市id就是获取城市支持列表中返回
4、的字段ID$cityWeatherResult=$weather->getWeather('苏州');if($cityWeatherResult'error_code'=0)/以下可根据实际业务需求,自行改写/$data=$cityWeatherResult'result'echo"=当前天气实况=<br>"echo"温度:".$data'sk''temp'.""echo"风向:".$data'sk'&
5、#39;wind_direction'."(".$data'sk''wind_strength'.")"echo"湿度:".$data'sk''humidity'.""echo"<br><br>"echo"=未来几天天气预报=<br>"foreach($data'future'as$wkey=>$f)echo"日期:".$f
6、39;date'."".$f'week'."".$f'weather'."".$f'temperature'."<br>"echo"<br><br>"echo"=相关天气指数=<br>"echo"穿衣指数:".$data'today''dressing_index'.",".$data'toda
7、y''dressing_advice'."<br>"echo"紫外线强度:".$data'today''uv_index'."<br>"echo"舒适指数:".$data'today''comfort_index'."<br>"echo"洗车指数:".$data'today''wash_index'echo"&l
8、t;br><br>"elseecho$cityWeatherResult'error_code'.":".$cityWeatherResult'reason'三、根据用户的IP地址请求对应的天气预报通过用户的IP地址获取用户所在地的天气预报,由于IP地址解析可能会有误差,所以有时定位到的城市不一定是用户实际的所在地。'28');/以下可根据实际业务需求,自行5."(".$data'sk''win"$ipWeatherRes
9、ult=$weather->getWeatherByIP(if($ipWeatherResult'error_code'=0)改写/$data=$ipWeatherResult'result'echo"=当前城市=<br>"echo$data'today''city'echo"<br><br>"echo"=当前天气实况=<br>echo"温度:".$data'sk''temp'
10、.""echo"风向:".$data'sk''wind_direction'd_strength'.")"echo"湿度:".$data'sk''humidity'.echo"<br><br>"foreach($data'future'as$wkey=>$f)echo"日期:".$f'date'."".$f'week
11、'."".$f'weather'."".$f'temperature'."<br>"echo"<br><br>"echo"=相关天气指数=<br>"echo"穿衣指数:".$data'today''dressing_index'.",".$data'today''dressing_advice'."
12、;<br>"echo"紫外线强度:".$data'today''uv_index'."<br>"echo"舒适指数:".$data'today''comfort_index'."<br>"echo"洗车指数:".$data'today''wash_index'echo"<br><br>"elseecho$ipWe
13、atherResult'error_code'.":".$ipWeatherResult'reason'四、根据GPS坐标来获取对应地区的天气无论通过二、三、四获取的天气预报,因为聚合格式都是统一的,所以解析的流程是一致的,所以没有额外的操作,只是传参上有点的差异。$geoWeatherResult=$weather->getWeatherByGeo(116.401394,39.916042);if($geoWeatherResult'error_code'=0)/以下可根据实际业务需求,自行改写/$data=$geoW
14、eatherResult'result'echo"=当前城市=<br>"echo$data'today''city'echo"<br><br>"echo"=当前天气实况=<br>echo”温度:".$data'sk''temp'.""echo"风向:".$data'sk''wind_direction'."(".$da
15、ta'sk''wind_strength'.")"echo"湿度:".$data'sk''humidity'.""echo"<br><br>"echo"=未来几天天气预报=<br>"foreach($data'future'as$wkey=>$f)echo"日期:".$f'date'."".$f'week'
16、;."".$f'weather'."".$f'temperature'."<br>"echo"<br><br>"echo"=相关天气指数=<br>"echo"穿衣指数:".$data'today''dressing_index'.",".$data'today''dressing_advice'."<
17、;br>"echo"紫外线强度:".$data'today''uv_index'."<br>"echo"舒适指数:".$data'today''comfort_index'."<br>"echo"洗车指数:".$data'today''wash_index'echo"<br><br>"elseecho$geoWeath
18、erResult'error_code'.":".$geoWeatherResult'reason'五、获取城市三小时预报就是城市每3小时的天气情况$forecastResult=$weather->getForecast("苏州");if($forecastResult'error_code'=0)/以下可根据实际业务需求,自行改写/$data=$forecastResult'result'foreach($dataas$key=>$d)echo"日期:".
19、$d'date'."(".$d'sh'."点-".$d'eh'."点)”.$d'weather'."".$d'temp1'."".$d"temp2"."<br>"else/以下可根据实际业务需求,自行改写/echo$forecastResult'error_code'.":".$forecastResult'reason'通
20、过上面的示例代码,大家应该对如果调用聚合数据天气预报API有了一个大体的了解。最后放上class.juhe.weather.php完整代码:<!-?php/+|JuhePHPNOZUONODIE/+/|Copyright(c)2010-2015Allrightsreserved./+/|Author:Juhedata<info->/+/聚合数据天气预报接口请求类/classweatherprivate$appkey=false;/申请的聚合天气预报APPKEYprivateRL$cityUrl='http:;/城市列表APIUprivate$weatherUrl=
21、39;/根据城市请求天气APIURLprivate$weatherIPUrl请求天气APIURL='http:;/根据IP地址private$weatherGeoUrl标获取天气APIURL='http:;/根据GPS坐private取城市天气$forecast3hUrl3小时预报APIURL='http:;/获publicfunction_construct($appkey)/*$this->appkey=$appkey;获取天气预报支持城市列表returnarray*/publicfunctiongetCitys()$params='key='
22、.$this->appkey;$content=$this->juhecurl(return$this->_returnArray($this->cityUrl,$params);$content);/*根据城市名称/ID获取详细天气预报城市名称/ID=>publicfunction$paramsArray'key''cityname''format'getWeather($city)array($this->appkey,=>$city,=>2);$params=http_build_query(
23、$content=$this->juhecurl(return$this->_returnArray($paramsArray);$this->weatherUrl,$content);$params);* 根据IP地址获取当地天气预报* paramstring$ipIP地址* returnarray* /publicfunctiongetWeatherByIP($ip)$paramsArray=array('key'=>$this->appkey,'ip'=>$ip,'format'=>2);$para
24、ms=http_build_query($paramsArray);$content=$this->juhecurl($this->weatherIPUrl,return$this->_returnArray($content);$params);* 根据GPS坐标获取当地的天气预报* paramstring$lon经度* paramstring$lat纬度* returnarray* /publicfunctiongetWeatherByGeo($lon,$lat)/*$paramsArray=array('key'=>$this->appkey
25、,'lon'=>$lon,'lat'=>$lat,'format'=>2);$params=http_build_query($content=$this->juhecurl(return$this->_returnArray($paramsArray);$this->weatherGeoUrl,$content);$params);获取城市三小时预报paramstring$cityreturnarray城市名称*/publicfunctiongetForecast($city)$paramsArray=
26、9;key'=>'cityname''format'array($this->appkey,=>$city,=>2$paramsArray);$this->forecast3hUrl,$content););$params);$params=http_build_query($content=$this->juhecurl(return$this->_returnArray(/请求接口返回内容paramstring$urlparamstring$paramsparamint$ipostreturnstring将JSON内容转为数据,并返回paramstring$content内容returnarray*/publicfunction_returnArray($content)returnjson_decode()$content,true);/*请求的URL地址请求的参数是否采用POST形式1);*/publicfunctionjuhec
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 升压站绿色施工方案及记录
- 职工食堂年终工作总结
- 呼吸内科中重症患者的护理总结
- 2025年药房年度工作总结个人总结
- 升压站倒送电试验方案
- 建设工程施工合同纠纷要素式起诉状模板法律依据清晰标注
- 2026 年官方化离婚协议书权威版
- 2026中学关于课外读物12条负面清单清方案(终稿)
- 创文明校园的自查报告
- 摄影测量学地质大学考试题库及答案
- XX小学传统体育游戏集锦
- GB/T 3906-20203.6 kV~40.5 kV交流金属封闭开关设备和控制设备
- 2023年电大当代中国政治制度机考拼音排版绝对好用按字母排序
- GB 39669-2020牙刷及口腔器具安全通用技术要求
- 精益生产试题与答案
- 医院关于主治医师晋升前到急诊科、重症医学科轮转锻炼工作的管理规定
- L1会计研究方法论简介课件
- 防治水培训课件
- 按摩穴位保健养生课件
- 食材配送投标服务方案
- 大学生心理健康教育全套课件
评论
0/150
提交评论