[ActionScript 3.0] AS3调用百度天气预报查询API
接口说明
根据经纬度/城市名查询天气的结果
接口示例
http://api.map.baidu.com/telematics/v3/weather?location=成都&output=json&ak=yourkey
百度ak申请地址:http://lbsyun.baidu.com/apiconsole/key
接口参数说明
参数类型 | 参数名称 | 是否必须 | 具体描述 |
---|---|---|---|
String | ak | true | 开发者密钥 |
String | sn | false | 若用户所用ak的校验方式为sn校验时该参数必须。 |
String | location | true | 输入城市名或经纬度,城市名称如:北京,经纬度格式为lng,lat坐标如: location=116.305145,39.982368;城市天气预报中间"|"分隔,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 | 温度 |
返回的xml格式数据
<?xml version="1.0" encoding="utf-8" ?> <CityWeatherResponse> <error>0</error> <status>success</status> <date>2015-10-20</date> <results> <currentCity>成都</currentCity> <weather_data> <date>周二 10月20日 (实时:25℃)</date> <dayPictureUrl>http://api.map.baidu.com/images/weather/day/yin.png</dayPictureUrl> <nightPictureUrl>http://api.map.baidu.com/images/weather/night/duoyun.png</nightPictureUrl> <weather>阴转多云</weather> <wind>南风微风</wind> <temperature>25 ~ 18℃</temperature> <date>周三</date> <dayPictureUrl>http://api.map.baidu.com/images/weather/day/yin.png</dayPictureUrl> <nightPictureUrl>http://api.map.baidu.com/images/weather/night/xiaoyu.png</nightPictureUrl> <weather>阴转小雨</weather> <wind>南风微风</wind> <temperature>24 ~ 18℃</temperature> <date>周四</date> <dayPictureUrl>http://api.map.baidu.com/images/weather/day/xiaoyu.png</dayPictureUrl> <nightPictureUrl>http://api.map.baidu.com/images/weather/night/xiaoyu.png</nightPictureUrl> <weather>小雨</weather> <wind>北风微风</wind> <temperature>22 ~ 17℃</temperature> <date>周五</date> <dayPictureUrl>http://api.map.baidu.com/images/weather/day/xiaoyu.png</dayPictureUrl> <nightPictureUrl>http://api.map.baidu.com/images/weather/night/xiaoyu.png</nightPictureUrl> <weather>小雨</weather> <wind>北风微风</wind> <temperature>21 ~ 16℃</temperature> </weather_data> <index> <title>穿衣</title> <zs>舒适</zs> <tipt>穿衣指数</tipt> <des>建议着长袖T恤、衬衫加单裤等服装。年老体弱者宜着针织长袖衬衫、马甲和长裤。</des> <title>洗车</title> <zs>较适宜</zs> <tipt>洗车指数</tipt> <des>较适宜洗车,未来一天无雨,风力较小,擦洗一新的汽车至少能保持一天。</des> <title>旅游</title> <zs>适宜</zs> <tipt>旅游指数</tipt> <des>天气较好,温度适宜,总体来说还是好天气哦,这样的天气适宜旅游,您可以尽情地享受大自然的风光。</des> <title>感冒</title> <zs>较易发</zs> <tipt>感冒指数</tipt> <des>昼夜温差较大,较易发生感冒,请适当增减衣服。体质较弱的朋友请注意防护。</des> <title>运动</title> <zs>较适宜</zs> <tipt>运动指数</tipt> <des>阴天,较适宜进行各种户内外运动。</des> <title>紫外线强度</title> <zs>最弱</zs> <tipt>紫外线强度指数</tipt> <des>属弱紫外线辐射天气,无需特别防护。若长期在户外,建议涂擦SPF在8-12之间的防晒护肤品。</des> </index> <pm25>147</pm25> </results> </CityWeatherResponse>
返回的JSON格式的数据:
{
"error": 0,
"status": "success",
"date": "2015-10-20",
"results": [
{
"currentCity": "成都",
"pm25": "152",
"index": [
{
"title": "穿衣",
"zs": "舒适",
"tipt": "穿衣指数",
"des": "建议着长袖T恤、衬衫加单裤等服装。年老体弱者宜着针织长袖衬衫、马甲和长裤。"
},
{
"title": "洗车",
"zs": "较适宜",
"tipt": "洗车指数",
"des": "较适宜洗车,未来一天无雨,风力较小,擦洗一新的汽车至少能保持一天。"
},
{
"title": "旅游",
"zs": "适宜",
"tipt": "旅游指数",
"des": "天气较好,温度适宜,总体来说还是好天气哦,这样的天气适宜旅游,您可以尽情地享受大自然的风光。"
},
{
"title": "感冒",
"zs": "较易发",
"tipt": "感冒指数",
"des": "昼夜温差较大,较易发生感冒,请适当增减衣服。体质较弱的朋友请注意防护。"
},
{
"title": "运动",
"zs": "较适宜",
"tipt": "运动指数",
"des": "阴天,较适宜进行各种户内外运动。"
},
{
"title": "紫外线强度",
"zs": "最弱",
"tipt": "紫外线强度指数",
"des": "属弱紫���线辐射天气,无需特别防护。若长期在户外,建议涂擦SPF在8-12之间的防晒护肤品。"
}
],
"weather_data": [
{
"date": "周二 10月20日 (实时:25℃)",
"dayPictureUrl": "http://api.map.baidu.com/images/weather/day/yin.png",
"nightPictureUrl": "http://api.map.baidu.com/images/weather/night/duoyun.png",
"weather": "阴转多云",
"wind": "南风微风",
"temperature": "25 ~ 18℃"
},
{
"date": "周三",
"dayPictureUrl": "http://api.map.baidu.com/images/weather/day/yin.png",
"nightPictureUrl": "http://api.map.baidu.com/images/weather/night/xiaoyu.png",
"weather": "阴转小雨",
"wind": "南风微风",
"temperature": "24 ~ 18℃"
},
{
"date": "周四",
"dayPictureUrl": "http://api.map.baidu.com/images/weather/day/xiaoyu.png",
"nightPictureUrl": "http://api.map.baidu.com/images/weather/night/xiaoyu.png",
"weather": "小雨",
"wind": "北风微风",
"temperature": "22 ~ 17℃"
},
{
"date": "周五",
"dayPictureUrl": "http://api.map.baidu.com/images/weather/day/xiaoyu.png",
"nightPictureUrl": "http://api.map.baidu.com/images/weather/night/xiaoyu.png",
"weather": "小雨",
"wind": "北风微风",
"temperature": "21 ~ 16℃"
}
]
}
]
}
以下是AS3代码示例:
package
{
import flash.display.Sprite;
import flash.events.Event;
import flash.events.HTTPStatusEvent;
import flash.events.IOErrorEvent;
import flash.net.URLLoader;
import flash.net.URLRequest; /**
* @author Frost.Yen
* @E-mail 871979853@qq.com
* @create 2015-10-20 下午3:44:25
*
*/
public class BaiduWeatherTest extends Sprite
{
private var _location:String="成都";//城市名称或者经纬度(如116.305145,39.982368)
private var _webURL:String = "http://api.map.baidu.com/telematics/v3/weather";
private var _ak:String = "ncp4Qv2GGk8XWxCFBo1fOAzt";//百度ak申请地址:http://lbsyun.baidu.com/apiconsole/key
private var _dataType:String=""//默认返回xml格式,如果&output=json则为json格式
private var _ldr:URLLoader = new URLLoader();
public function BaiduWeatherTest()
{
initViews();
initEventListeners();
}
private function initViews():void
{
loadWeather();
}
private function initEventListeners():void
{
_ldr.addEventListener(Event.COMPLETE,onWeatherLoaded);
_ldr.addEventListener(HTTPStatusEvent.HTTP_STATUS,onStatus)
_ldr.addEventListener(IOErrorEvent.IO_ERROR,onError); }
private function loadWeather():void
{
//完整地址示例:http://api.map.baidu.com/telematics/v3/weather?location=成都&output=json&ak=D445c65d79c46492e829a2a6aaba0816&qq-pf-to=pcqq.c2c
_ldr.load(new URLRequest(_webURL+"?location="+encodeURI(_location)+_dataType+"&ak="+_ak));
}
private function onWeatherLoaded(e:Event):void
{
trace(e.target.data);
if(_dataType=="&output=json"){
//json格式
var obj:Object = JSON.parse(e.target.data as String);
parseWeather(obj);
}else if(_dataType == ""){
//xml格式
var xml:XML = XML(e.target.data);
//trace(xml);
}
}
private function onStatus(e:HTTPStatusEvent):void
{
trace("status:"+e.status);
}
private function onError(e:IOErrorEvent):void
{
trace("error:"+e.toString());
}
private function parseWeather(data:Object):void
{
if(!data.hasOwnProperty("results")){
trace("没有查询到数据,请重试...");
loadWeather();
return;
}
var weatherData:Array = [];//天气状况数据
for(var key:String in data){
//trace("---"+key,":",obj[key]+"\n");
if(data[key] is Array){
for(var i:int = 0;i<data[key].length;i++){
if(data[key][i] is Object){
for(var key1:String in data[key][i]){
//trace("***"+key1,":",obj[key][i][key1]+"\n");
if(key1=="weather_data"){
weatherData = data[key][i][key1];
}
}
}
}
}
} }
}
}
[ActionScript 3.0] AS3调用百度天气预报查询API的更多相关文章
- [ActionScript 3.0] AS3调用百度地图API
package { import baidu.map.basetype.LngLat; import baidu.map.basetype.Size; import baidu.map.config. ...
- 在 Flash ActionScript 2.0 中调用 Javascript 方法
本篇文章由:http://xinpure.com/call-the-javascript-method-in-flash-actionscript-2-0/ 在 Flash ActionScript ...
- HTML实现调用百度在线翻译API
HTML实现调用百度在线翻译API 本文章已收录于: <!doctype html> <html lang="en"> <head> < ...
- QT调用百度语音REST API实现语音合成
QT调用百度语音REST API实现语音合成 1.首先点击点击链接http://yuyin.baidu.com/docs/tts 点击access_token,获取access_token,里面有详细 ...
- [ActionScript 3.0] AS3.0和AS2.0的相互通信
AS3和AS2之间的通信,最好的方式可能就是LocalConnection了. AS2向AS3发送数据,即AS2调用AS3的函数: as2.0代码(按钮上写的发送信息代码): on (release) ...
- [ActionScript 3.0] AS3.0 动态加载显示内容
可以将下列任何外部显示资源加载到 ActionScript 3.0 应用程序中: 在 ActionScript 3.0 中创作的 SWF 文件 — 此文件可以是 Sprite.MovieClip 或扩 ...
- [ActionScript 3.0] as3处理xml的功能和遍历节点
as3比as2处理xml的功能增强了N倍,获取或遍历节点非常之方便,类似于json对像的处理方式. XML 的一个强大功能是它能够通过文本字符的线性字符串提供复杂的嵌套数据.将数据加载到 XML 对象 ...
- 苹果手机 微信调用百度地图Javascript API 频繁闪退问题
最近在网页中调用百度地图API js大众版,但是在IOS8系统中,缩放的时候频繁闪退,安卓手机没有这个问题! 在网上查询了下,有网友回答说不要频繁的去new marker,而是初始化话一定量的mark ...
- 跨域解决方案之JSONP,通过借助调用百度搜索的API了解跨域案例
跨域解决方案之JSONP 同源策略 同源策略(Same origin policy)是一种约定,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,则浏览器的正常功能可能都会受到影响.可以说Web ...
随机推荐
- 一个不错的vim配置
set nocp set backspace=indent,eol,start set number set autoindent set nocompatible set bs=indent,eol ...
- 动态从数据库中获取数据填充Select
JavaScript代码: $(document).ready(function () { getIntype(); });function getIntype(){ $.ajax({ type:&q ...
- unity 合并skinnedMeshRenderer中遇到的一个大坑
将多个skinnedMeshRenderer合并成一个skinnedMeshRenderer,主要涉及的mesh合并.骨骼列表合并.重定向顶点骨骼索引.其中重定向顶点骨骼索引只是通过加偏值即可完成,所 ...
- Externalizable接口 序列化
Java默认的序列化机制非常简单,而且序列化后的对象不需要再次调用构造器重新生成,但是在实际中,我们可以会希望对象的某一部分不需要被序列化,或者说一个对象被还原之后, 其内部的某些子对象需要重新创建, ...
- [原]Fedora 20的yum配置
新装了一套Fedora 20操作系统,又要开始配置yum了.下面总结以下步骤: 1.下载国内比较快的yum源 推荐163的yum源,sohu的yum源也不错,我一般就装第一个,安装163 yum源主页 ...
- windows 系统中打开一个数字证书所经历的过程
今天在使用Outlook express调试CSP程序时,发现数字证书总是加载不上(提示该数字证书已经被破坏),使用断点进去跟踪一下,发现在CSP程序中调用CPVerifySignature ...
- 用jquery在必填表单字段前加红星总结
一.总结: 今天公司项目中要求给表单中的必填字段添加标记,因为表单字段比较多,后期又有可能某些字段会有变化,所以写了一段js代码来给表单添加标记. html代码: js代码: 关键步骤: 1.红星的设 ...
- 遇到 Error creating the Web Proxy specified in the 'system.net/defaultProxy' configuration section的解决办法
用记事本编辑*.EXE.config,在“<system.net>”节点加入<defaultProxy> <proxy usesystemdefault="Fa ...
- c# .net sha256 16进制 64位 签名
public static string GetSHA256hash(string input, string _input_charset) { byte[] clearBytes = Encodi ...
- winserver 2008 r2 iis7.5 实现php wordpress url静态化操作步骤(UrlRewrite实现)
参考网址:http://jingyan.baidu.com/article/cbf0e500ebec582eaa2893d2.html 文中涉及到的程序源码以及配置 详见附件:http://files ...