微信公众平台 微信公众平台开发 消息接口 微信天气预报 天气预报接口 中国天气网

一、数据接口

百度提供天气预报查询接口API,可以根据经纬度/城市名查询天气情况,我们可以在微信公众平台开发中调用这一接口。

接口

http://api.map.baidu.com/telematics/v3/weather?location=北京&output=json&ak=yourak

接口参数说明

参数类型参数名称是否必须具体描述

String

location

true

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

String

output

false

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

String

coord_type

false

请求参数坐标类型,默认为gcj02经纬度坐标。允许的值为bd09ll、bd09mc、gcj02、wgs84。bd09ll表示百度经纬度坐标,bd09mc表示百度墨卡托坐标,gcj02表示经过国测局加密的坐标。wgs84表示gps获取的坐标。

返回结果

参数名称含义说明

currentCity

当前城市

返回城市名

status

返回结果状态信息

date

当前时间

年-月-日

results

天气预报信息

白天可返回近期3天的天气情况(今天、明天、后天)、晚上可返回近期4天的天气情况(今天、明天、后天、大后天)

results.currentCity

当前城市

results.weather_data

weather_data.date

天气预报时间

weather_data.dayPictureUrl

白天的天气预报图片url

weather_data.nightPictureUrl

晚上的天气预报图片url

weather_data.weather

天气状况

所有天气情况(”|”分隔符):晴|多云|阴|阵雨|雷阵雨|雷阵雨伴有冰雹|雨夹雪|小雨|中雨|大雨|暴雨|大暴雨|特大暴雨|阵雪|小雪|中雪|大雪|暴雪|雾|冻雨|沙尘暴|小雨转中雨|中雨转大雨|大雨转暴雨|暴雨转大暴雨|大暴雨转特大暴雨|小雪转中雪|中雪转大雪|大雪转暴雪|浮尘|扬沙|强沙尘暴|霾

weather_data.wind

风力

weather_data.temperature

温度

返回json格式的数据

{"error": 0,

"status": "success",

"date": "2014-05-03",

"results": [

{"currentCity": "北京",

"weather_data": [

{"date": "周六(今天, 实时:23℃)",

"dayPictureUrl": "http://api.map.baidu.com/images/weather/day/leizhenyu.png",

"nightPictureUrl": "http://api.map.baidu.com/images/weather/night/duoyun.png",

"weather": "雷阵雨转多云",

"wind": "北风5-6级",

"temperature": "24 ~ 11℃"},{"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": "北风4-5级",

"temperature": "19 ~ 8℃"},{"date": "周一",

"dayPictureUrl": "http://api.map.baidu.com/images/weather/day/qing.png",

"nightPictureUrl": "http://api.map.baidu.com/images/weather/night/qing.png",

"weather": "晴",

"wind": "微风",

"temperature": "21 ~ 9℃"},{"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": "微风",

"temperature": "21 ~ 10℃"}

]

}

]

}

二、开发实现

获取百度天气json数据的代码如下:

function getWeatherInfo($cityName)

{if ($cityName == "" || (strstr($cityName, "+"))){return "发送天气+城市,例如'天气深圳'";

}$url = "http://api.map.baidu.com/telematics/v3/weather?location=".urlencode($cityName)."&output=json&ak=ECe3698802b9bf4457f0e01b544eb6aa";$ch =curl_init();

curl_setopt($ch, CURLOPT_URL, $url);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);$output = curl_exec($ch);

curl_close($ch);$result = json_decode($output, true);if ($result["error"] != 0){return $result["status"];

}$curHour = (int)date('H',time());$weather = $result["results"][0];$weatherArray[] = array("Title" =>$weather['currentCity']."天气预报", "Description" =>"", "PicUrl" =>"", "Url" =>"");for ($i = 0; $i < count($weather["weather_data"]); $i++) {$weatherArray[] = array("Title"=>

$weather["weather_data"][$i]["date"]."\n".

$weather["weather_data"][$i]["weather"]." ".

$weather["weather_data"][$i]["wind"]." ".

$weather["weather_data"][$i]["temperature"],

"Description"=>"",

"PicUrl"=>(($curHour >= 6) && ($curHour < 18))?$weather["weather_data"][$i]["dayPictureUrl"]:$weather["weather_data"][$i]["nightPictureUrl"], "Url"=>"");

}return $weatherArray;

}?>

在微信中调用的方式如下:

CopyRight 2013 All Rights Reserved*/

private function receiveText($object)

{$keyword = trim($object->Content);include("weather2.php");$content = getWeatherInfo($keyword);//$result = $this->transmitText($object, count($content));

$result = $this->transmitNews($object, $content);return $result;

}

}

三,效果演示

直接发送城市名称查询天气预报

四、其他方式查询

除了城市名称之外,还可以使用邮编、电话区号等方式进行查询,其实是使用转换的方式,比如010是北京的电话区号,就转去查询北京的天气。

你可以下载 weather.sql.zip ,该数据库是方倍工作室整理收集的主要城市、邮编、区号、拼音、及简拼等城市资料。

开发完成之后,效果如图如示:

使用城市名称、拼音、电话区号查询天气预报

使用邮编、地址位置、语音(声音)查询天气预报

天气预报文字版微信_微信公众平台开发(4)天气预报相关推荐

  1. 【微信易信公众平台开发】创建自定义菜单

    本系列文章均为A2BGeek原创,转载务必在明显处注明: 转载自A2BGeek的[微信易信公众平台开发]系列,原文链接:http://blog.csdn.net/a2bgeek/article/det ...

  2. 【微信易信公众平台开发】开启开发者模式

    本系列文章均为A2BGeek原创,转载务必在明显处注明: 转载自A2BGeek的[微信易信公众平台开发]系列,原文链接:http://blog.csdn.net/a2bgeek/article/det ...

  3. 【微信易信公众平台开发】天气查询功能

    本系列文章均为A2BGeek原创,转载务必在明显处注明: 转载自A2BGeek的[微信易信公众平台开发]系列,原文链接:http://blog.csdn.net/a2bgeek/article/det ...

  4. 微信公众平台开发(82) 天气预报

    在这篇教程中,我们将介绍如何在微信公众平台上开发天气预报功能.我们将使用中国天气网的气象数据接口来获取天气信息. 这篇教程将介绍以下内容: 获取中国天气网的气象数据 在微信公众平台中回复天气 一.中国 ...

  5. 【微信易信公众平台开发】写在最前面

    微信和易信一样,都有公众平台,使用方法几乎一样,不过易信政策比较宽松,所以我选择了易信来写这个系列的博客,具体要做一个什么样子的例子还没有想清楚,不过先把久违的自定义菜单体验一下先.本系列的第一篇是讲 ...

  6. java微信公众号开发教程_微信公众平台开发教程(java版本含代码) 中文PDF版 3.13MB...

    本文档将对即将推出的微信公众帐号开发系列连载教程做简单的说明. 教程主要是面向有一定 Java 编程基础的朋友, 目录: 微信公众帐号开发教程第 1 篇-引言  2 微信公众帐号开发教程第 2 篇-微 ...

  7. 微信公众平台开发入门教程[2019版]

    关键字:微信公众平台开发 作者:方倍工作室 在这篇微信公众平台开发教程中,我们假定你已经有了PHP语言程序.MySQL数据库.计算机网络通讯.及HTTP/XML/CSS/JS等基础. 我们将使用微信公 ...

  8. 微信公众平台开发教程Java版(六) 事件处理(菜单点击/关注/取消关注)

    前言: 事件处理是非常重要的,这一章讲讲常见的事件处理 1.关注/取消关注 2.菜单点击 事件类型介绍: 在微信中有事件请求是消息请求中的一种.请求类型为:event 而event事件类型又分多种事件 ...

  9. 第六篇 :微信公众平台开发实战Java版之如何自定义微信公众号菜单

    我们来了解一下 自定义菜单创建接口: http请求方式:POST(请使用https协议) https://api.weixin.qq.com/cgi-bin/menu/create?access_to ...

最新文章

  1. 《中国人工智能学会通讯》——10.25 跨姿态和光照变化的低分辨率人脸识别
  2. java 调用 perl_perl - Java调用perl
  3. 一步一步手绘Spring IOC运行时序图一(Spring 核心容器 IOC初始化过程)
  4. Bailian4151 电影节【贪心】
  5. java幸运抽奖项目
  6. 40页PPT详解:京东大数据基础构架与创新应用
  7. VR产品为什么没有火起来
  8. 使用visio来进行画类图
  9. DiskGenius分区移动硬盘
  10. 【向生活低头】win10电脑使用录音机的注意事项
  11. 阿里p8级软件测试被裁,能拿多少赔偿金?
  12. 程序人生(一)从“道·法·术·器“”的角度来谈谈程序的境界
  13. 【简书如何删除专题?】
  14. 赛迪中国ECM市场报告解读二:鸿翼等国内厂商正在逐步取代跨国企业
  15. MySQL的not null default
  16. BAV99的ESD保护作用解析
  17. C# 委托(同步调用、异步调用、异步回调)
  18. HttpClient4 客户端出现TIME_WAIT
  19. 用数据告诉你,今年考研上岸有多难
  20. 北大青鸟java8.0 s1_北大青鸟s1笔试试题(笔试题汇总及所有.docx

热门文章

  1. 获取网站上的旅游攻略信息,并作数据可视化
  2. 工业元宇宙讲座PPT讲义
  3. HTML转义字符对照表,HTML特殊字符转义,<转义,>转义,空格转义,“转义
  4. 静态代码检查完成代码分析和SonarQuber的初探
  5. office2010 SP1补丁,先打visio2010sp1,再打officesuite2010sp1则打不上。
  6. 无人驾驶汽车系统架构汇总
  7. 基于Cesium的实景三维模型动态更新-以3Dtiles为例(二)
  8. 太赞了,看看大神总结的常见数据分析规范!
  9. 1058人名查询(sdnuoj)
  10. 三大巨头决战印度市场,亚马逊、阿里、沃尔玛谁能抢得更多肉?