`
SorosW
  • 浏览: 9567 次
  • 来自: 苏州
文章分类
社区版块
存档分类
最新评论

聚合数据iOS SDK 全国天气预报演示示例

 
阅读更多

1,将聚合数据SDK(JuheApis.framework)添加到你的程序中来,SDK依赖的包包括:



2,在聚合SDK Framework的JHSDKAPIPath.h文件中找到快递查询接口宏,以及字典参数

/*** 全国天气预报 ***/

/**
@brief 全国天气 -> 根据城市名/id查询天气
@param cityname string 必填 城市名或城市ID,如:"苏州"
@param dtype string 必填 返回数据格式:json或xml,默认json
@param format int 非必填 未来6天预报(future)两种返回格式,1或2,默认1
*/
#define kJHAPIS_LIFE_WEATHER_INDEX @"juhe.apis.weather.index" //1、根据城市名/id查询天气

/**
@brief 全国天气 -> 天气种类及标识列表
@param dtype string 非必填 返回数据的格式,xml或json,默认json
*/
#define kJHAPIS_LIFE_WEATHER_UNI @"juhe.apis.weather.uni" //2、天气种类及标识列表
/**
@brief 全国天气 -> 根据IP查询天气
@param ip string 必填 ip地址,如:58.215.185.154
@param dtype string 必填 返回数据格式:json或xml,默认json
@param format int 非必填 未来6天预报(future)两种返回格式,1或2,默认1
*/
#define kJHAPIS_LIFE_WEATHER_IP @"juhe.apis.weather.ip" //3、根据IP查询天气
/**
@brief 全国天气 -> 根据GPS坐标查询天气
@param lon string 必填 经度,如:116.39277
@param lat string 必填 纬度,如:39.933748
@param format int 非必填 未来6天预报(future)两种返回格式,1或2,默认1
@param dtype string 必填 返回数据格式:json或xml,默认json
*/
#define kJHAPIS_LIFE_WEATHER_GEO @"juhe.apis.weather.geo" //4、根据GPS坐标查询天气
/**
@brief 全国天气 -> 城市天气三小时预报
@param cityname string 必填 城市名,如:"苏州"
@param dtype string 必填 返回数据格式:json或xml,默认json
*/
#define kJHAPIS_LIFE_WEATHER_FORECAST3H @"juhe.apis.weather.forecast3h" //5、城市天气三小时预报
/**
@brief 全国天气 -> 支持城市列表
@param dtype string 非必填 返回数据的格式,xml或json,默认json
*/

#define kJHAPIS_LIFE_WEATHER_CITYS @"juhe.apis.weather.citys" //6、支持城市列表


3,全国天气预报接口在程序中调用方法(将ViewController.m改为.mm)

#import "ViewController.h"

#import <JuheApis/JuheAPI.h>
#import <JuheApis/JHOpenidSupplier.h>
#import <JuheApis/JHSDKAPIPath.h>

@interface ViewController ()
@end

@implementation ViewController

- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
[[JHOpenidSupplier shareSupplier] registerJuheAPIByOpenId:@"申请到的OpenId“];

UIButton* beginBtn=[UIButton buttonWithType:UIButtonTypeSystem];
beginBtn.frame=CGRectMake(20, 111, 280, 40);
[beginBtn setTitle:@"开始" forState:UIControlStateNormal];
[beginBtn setTitleColor:[UIColor darkGrayColor] forState:UIControlStateNormal];
[beginBtn addTarget:self action:@selector(doTestAction) forControlEvents:UIControlEventTouchUpInside];
[beginBtn setBackgroundImage:[UIImage imageNamed:@"button5"] forState:UIControlStateNormal];
[self.view addSubview:beginBtn];
}

- (void)doTestAction
{
/* 1. 根据城市名/id查询天气 */
[self test : kJHAPIS_LIFE_WEATHER_INDEX parameters:@{@"cityname":@"苏州" , @"dtype":@"json" } ];


/* 2. 天气种类及标识列表 */

[self test :kJHAPIS_LIFE_WEATHER_UNI parameters:@{@"dtype":@"json"} ];


/* 3. 根据IP查询天气 */

[self test : kJHAPIS_LIFE_WEATHER_IP parameters:@{@"ip":@"58.215.185.154" , @"dtype":@"json"} ];


/* 4. 根据GPS坐标查询天气 */

[self test :kJHAPIS_LIFE_WEATHER_GEO parameters:@{@"lon":@"116.39277" , @"lat":@"39.933748" , @"dtype":@"json" } ];


/* 5. 城市天气三小时预报 */

[self test :kJHAPIS_LIFE_WEATHER_FORECAST3H parameters:@{@"cityname":@"苏州" , @"dtype":@"json" } ];


/* 6. 支持城市列表 */

[self test :kJHAPIS_LIFE_WEATHER_CITYS parameters:@{@"dtype":@"json" } ];


}

- (void)test:(NSString *)path parameters:(NSDictionary *)parameters{

JuheAPI *juheapi = [JuheAPI shareJuheApi];
[juheapi executeWorkWithAPI:path
parameters:parameters
success:^(id responseObject){
if ([[parameters objectForKey:@"dtype"] isEqualToString:@"xml"]) {
NSLog(@"***xml*** \n %@", responseObject);
}else{
int error_code = [[responseObject objectForKey:@"error_code"] intValue];
if (!error_code) {
NSLog(@" %@", responseObject);
}else{
NSLog(@" %@", responseObject);
}
}

} failure:^(NSError *error) {
NSLog(@"error: %@",error.description);
}];
}

- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}

@end


4,全国天气预报接口返回数据说明以及错误码说明

1. 根据城市名/id查询天气

API :juhe.apis.weather.index (宏 : kJHAPIS_LIFE_WEATHER_INDEX )

返回字段 :

名称

类型

说明

resultcode

int

返回码

reason

string

返回说明

result

dictionary

返回结果

sk

dictionary

当前实况天气

temp

int

当前温度

wind_direction

string

当前风向

wind_strength

string

当前风力

humidity

string

当前湿度

time

date

更新时间

today

dictionary

今日天气

city

string

城市

date_y

string

日期

week

string

星期

temperature

string

今日温度

weather

string

今日天气

weather_id

dictionary

天气唯一标识

fa

Int

天气标识00:晴

fb

int

天气标识53:霾 如果fa不等于fb,说明是组合天气

wind

string

风向与风力

dressing_index

string

穿衣指数(较冷)

dressing_advice

string

穿衣建议

uv_index

string

紫外线强度

comfort_index

string

舒适度指数

wash_index

string

洗车指数

travel_index

string

旅游指数

exercise_index

string

晨练指数

drying_index

string

干燥指数
future

array

未来几天天气(内部字典参数均能在today中找到)
error_code

int

错误码

2. 天气种类及标识列表

API :juhe.apis.weather.uni (宏 :kJHAPIS_LIFE_WEATHER_UNI )

返回字段 :

名称

类型

说明

resultcode

int

返回码

reason

string

返回说明

result

array

返回结果集

wid

string

天气唯一标示符

weather

string

天气

error_code

int

错误码


3. 根据IP查询天气

API :juhe.apis.weather.ip (宏 :kJHAPIS_LIFE_WEATHER_IP )

返回字段同juhe.apis.weather.index(根据城市名/id查询天气)。


4. 根据GPS坐标查询天气

API :juhe.apis.weather.geo (宏 :kJHAPIS_LIFE_WEATHER_GEO)

返回字段同juhe.apis.weather.index(根据城市名/id查询天气)。


5. 城市天气三小时预报

API :juhe.apis.weather.forecast3h (宏 :kJHAPIS_LIFE_WEATHER_FORECAST3H )

返回字段 :

名称

类型

说明

resultcode

int

返回码

reason

string

返回说明

result

array

返回结果集

weatherid

int

天气标识ID

weather

string

天气

temp1

string

低温

temp2

string

高温

sh

string

开始小时

eh

string

结束小时

wid

string

天气唯一标示符

date

string

日期

sfdate

string

完整开始时间

efdate

string

完整结束时间

error_code

int

错误码


6. 支持城市列表

API :juhe.apis.weather.citys (宏 :kJHAPIS_LIFE_WEATHER_CITYS )

返回字段 :

名称

类型

说明

resultcode

int

返回码

reason

string

返回说明

result

dictionary

返回结果集

id

int

城市ID

province

string

省份名称

city

string

城市名称

district

string

城市/区名称

error_code

int

错误码


7 . 全国天气预报错误码

错误码

203901

查询城市不能

203902

查询不到城市的天气

203903

查询出

203904

错误GPS

203905

GPS解析出提供的坐正确支持国

203906

IP地址错误

203907

查询不到IP地址相的天气信息



5, 更多聚合数据SDK接口,访问这里: http://www.juhe.cn/juhesdk/idocs


分享到:
评论

相关推荐

    flutter_plugin_toponad:TopOn聚合平台SDK的Flutter插件

    入门该项目是Flutter的起点,Flutter是一个特殊的程序包,其中包括针对Android和/或iOS的平台特定的实现代码。 要获得Flutter入门方面的帮助,请查看我们的,其中提供了教程,示例,有关移动开发的指南以及完整的API...

    (资料汇总)ESP8266系列模组SDK示例/AT指令开发/ESP8266常见问题等-电路方案

    ESP8266系列模组SDK示例/AT指令开发/ESP8266常见问题等资料截图,见附件下载: ESP8266系列模块核心处理器 ESP8266 在较小尺寸封装中集成了业界领先的 Tensilica L106 超低功耗 32 位微型 MCU,带有 16 位精简模式,...

    微信公众平台与小程序开发 从零搭建整套系统

    7.4.1 聚合支付接入示例 101 7.5 小结 105 第8章 微信登录 8.1 微信开放平台 107 8.1.1 UnionID机制 108 8.2 微信自动登录 109 8.2.1 数据结构设计 110 8.2.2 代码实现 112 8.2.3 使用...

    微信公众平台与小程序开发 从零搭建整套系统.part1

    7.4.1 聚合支付接入示例 101 7.5 小结 105 第8章 微信登录 8.1 微信开放平台 107 8.1.1 UnionID机制 108 8.2 微信自动登录 109 8.2.1 数据结构设计 110 8.2.2 代码实现 112 8.2.3 使用UnionID登录...

    微信公众平台与小程序开发 从零搭建整套系统.part2

    7.4.1 聚合支付接入示例 101 7.5 小结 105 第8章 微信登录 8.1 微信开放平台 107 8.1.1 UnionID机制 108 8.2 微信自动登录 109 8.2.1 数据结构设计 110 8.2.2 代码实现 112 8.2.3 使用UnionID登录...

    JAVA上百实例源码以及开源项目源代码

     Java数据压缩与传输实例,可以学习一下实例化套按字、得到文件输入流、压缩输入流、文件输出流、实例化缓冲区、写入数据到文件、关闭输入流、关闭套接字关闭输出流、输出错误信息等Java编程小技巧。 Java数组倒置...

    JAVA上百实例源码以及开源项目

     Java数据压缩与传输实例,可以学习一下实例化套按字、得到文件输入流、压缩输入流、文件输出流、实例化缓冲区、写入数据到文件、关闭输入流、关闭套接字关闭输出流、输出错误信息等Java编程小技巧。 Java数组倒置...

    java开源包1

    Flume 是一个分布式、可靠和高可用的服务,用于收集、聚合以及移动大量日志数据,使用一个简单灵活的架构,就流数据模型。这是一个可靠、容错的服务。 彩信发送开发包 apimms apimms 提供了各种语言用来发送彩信...

    java开源包11

    Flume 是一个分布式、可靠和高可用的服务,用于收集、聚合以及移动大量日志数据,使用一个简单灵活的架构,就流数据模型。这是一个可靠、容错的服务。 彩信发送开发包 apimms apimms 提供了各种语言用来发送彩信...

    java开源包2

    Flume 是一个分布式、可靠和高可用的服务,用于收集、聚合以及移动大量日志数据,使用一个简单灵活的架构,就流数据模型。这是一个可靠、容错的服务。 彩信发送开发包 apimms apimms 提供了各种语言用来发送彩信...

    java开源包3

    Flume 是一个分布式、可靠和高可用的服务,用于收集、聚合以及移动大量日志数据,使用一个简单灵活的架构,就流数据模型。这是一个可靠、容错的服务。 彩信发送开发包 apimms apimms 提供了各种语言用来发送彩信...

    java开源包6

    Flume 是一个分布式、可靠和高可用的服务,用于收集、聚合以及移动大量日志数据,使用一个简单灵活的架构,就流数据模型。这是一个可靠、容错的服务。 彩信发送开发包 apimms apimms 提供了各种语言用来发送彩信...

    java开源包5

    Flume 是一个分布式、可靠和高可用的服务,用于收集、聚合以及移动大量日志数据,使用一个简单灵活的架构,就流数据模型。这是一个可靠、容错的服务。 彩信发送开发包 apimms apimms 提供了各种语言用来发送彩信...

    java开源包10

    Flume 是一个分布式、可靠和高可用的服务,用于收集、聚合以及移动大量日志数据,使用一个简单灵活的架构,就流数据模型。这是一个可靠、容错的服务。 彩信发送开发包 apimms apimms 提供了各种语言用来发送彩信...

    java开源包4

    Flume 是一个分布式、可靠和高可用的服务,用于收集、聚合以及移动大量日志数据,使用一个简单灵活的架构,就流数据模型。这是一个可靠、容错的服务。 彩信发送开发包 apimms apimms 提供了各种语言用来发送彩信...

    java开源包8

    Flume 是一个分布式、可靠和高可用的服务,用于收集、聚合以及移动大量日志数据,使用一个简单灵活的架构,就流数据模型。这是一个可靠、容错的服务。 彩信发送开发包 apimms apimms 提供了各种语言用来发送彩信...

    java开源包7

    Flume 是一个分布式、可靠和高可用的服务,用于收集、聚合以及移动大量日志数据,使用一个简单灵活的架构,就流数据模型。这是一个可靠、容错的服务。 彩信发送开发包 apimms apimms 提供了各种语言用来发送彩信...

    java开源包9

    Flume 是一个分布式、可靠和高可用的服务,用于收集、聚合以及移动大量日志数据,使用一个简单灵活的架构,就流数据模型。这是一个可靠、容错的服务。 彩信发送开发包 apimms apimms 提供了各种语言用来发送彩信...

    java开源包101

    Flume 是一个分布式、可靠和高可用的服务,用于收集、聚合以及移动大量日志数据,使用一个简单灵活的架构,就流数据模型。这是一个可靠、容错的服务。 彩信发送开发包 apimms apimms 提供了各种语言用来发送彩信...

Global site tag (gtag.js) - Google Analytics