微信公众平台开发4:天气预报
2016-09-30 17:41
323 查看
思路首先要对用户发送过来的消息进行判断,判断消息里是否含有“天气”关键字,如果含有,则需要继续提取地区信息,然后再通过中国天气网(http://www.weather.com.cn)提供的开放API进行查询。实时天气信息API:http://www.weather.com.cn/data/sk/101110101.html
关键字判断与地区读取
用户发送过来查询天气的消息格式是固定好的,即 “地区+天气”,所以首先截取后两个字,判断是否为 “天气” 关键字。我们使用php的 mb_substr()函数截取:$str=mb_substr($keyword,-2,2,"UTF-8");从消息的结尾第二个字符开始截取,截取两个字符,然后加以判断是否为 “天气” 关键字。下面进行地区提取,还是使用 mb_substr() 函数。
$str_key=mb_substr($keyword,0,-2,"UTF-8");从消息的开头开始,截掉末尾的两个字符(天气),得地区关键字。
if($str=='天气'&&!empty($str_key)){//调用函数查询天气}
调用函数查询天气
接口地址:http://www.weather.com.cn/data/sk/101110101.html其中URL中的数字指代城市的编号101190401(苏州)。 返回信息格式如下:{"weatherinfo":{"city":"西安","cityid":"101110101","temp":"24","WD":"东南风","WS":"2级","SD":"62%","WSE":"2","time":"21:00","isRadar":"1","Radar":"JC_RADAR_AZ9290_JB"}}其中:cityid为城市编码,temp为当前温度WD //风向WS //风力SD//相对湿度WSE //风力isRadar "1"//是否有雷达图Radar "JC_RADAR_AZ9010_JB"//雷达图地址 http://www.weather.com.cn/html/radar/JC_RADAR_AZ9010_JB.shtml 现在地址更新成: http://products.weather.com.cn/product/radar/index/procode/JC_RADAR_AZ9736_JB 了我们通过解析JSON,获取相应城市的天气数据。weather() 函数如下:这里include 了一个城市对应关系文件 weather_cityId.php,格式如下:
<?php$weather_cityId=array("北京"=>"101010100","上海"=>"101020100","苏州"=>"101190401");?>根据传入的城市名,得到城市代码效果:欢迎关注我的公众号:
艺搜参考
网上的天气 API 哪一个更加可靠?http://z3sm2012.iteye.com/blog/1880973http://www.cnblogs.com/mchina/p/3170551.html相关文章推荐
- 微信公众平台开发接口之天气预报字符串截取
- 微信公众平台百度天气预报开发
- 微信公众平台消息接口开发(4)天气预报
- 微信公众平台开发(82) 天气预报
- 微信公众平台开发之天气预报功能
- 微信公众平台天气预报功能开发
- 微信公众平台开发之天气预报功能
- 微信公众平台开发(4)天气预报
- 微信公众平台开发(82) 天气预报
- 微信公众平台消息接口开发(4)天气预报
- 微信公众平台开发中调用百度天气预报接口
- 微信公众平台开发(82) 天气预报
- 微信公众平台天气预报功能开发
- 微信公众平台消息接口开发(4)天气预报
- 微信公众平台开发应用(天气预报、股票查询、手机归属地查询、在线听音乐、翻译、成绩查询等功能)代码分享如下
- 【微信公众平台开发】封装获取天气预报功能
- 微信公众平台消息接口开发(11)地理位置查询 当地天气及附近商家
- 微信公众平台消息接口开发(11)地理位置查询 当地天气及附近商家
- Android天气预报程序开发
- android版天气预报程序开发总结