文档章节

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

王航-聚合数据
 王航-聚合数据
发布于 2014/10/10 09:31
字数 1381
阅读 94
收藏 0
点赞 0
评论 0

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 : 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 : kJHAPIS_LIFE_WEATHER_UNI

  返回字段 :

名称

 

类型

说明

resultcode

 

int

返回码

reason

 

string

返回说明

result

 

array

返回结果集

 

wid

string

天气唯一标示符

 

weather

string

天气

error_code

 

int

错误码


   3.  根据IP查询天气

  API : kJHAPIS_LIFE_WEATHER_IP

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


   4.  根据GPS坐标查询天气 

  API : kJHAPIS_LIFE_WEATHER_GEO

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


   5.  城市天气三小时预报 

  API : 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 :  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

 

© 著作权归作者所有

共有 人打赏支持
王航-聚合数据
粉丝 2
博文 12
码字总数 10969
作品 0
苏州
【AR】开始使用Vuforia开发iOS(2)

原 设置iOS开发环境 安装Vuforia iOS SDK 如何安装Vuforia iOS示例 编译并运行Vuforia iOS示例 支持iOS金属 iOS 64位迁移 设置iOS开发环境 适用于iOS的Vuforia引擎目前支持运行iOS 9及更高版...

lichong951 ⋅ 06/11 ⋅ 0

Proxy-Go 全平台 SDK 迎来 v4.8 更新!

Proxy-Go 全平台 SDK是proxy使用gombile实现了一份go代码编译为android和ios平台下面可以直接调用的sdk类库, 另外还为linux和windows提供sdk支持,基于这些类库,APP开发者可以轻松的开发出各...

狂奔的蜗牛. ⋅ 05/04 ⋅ 2

Proxy-Go 全平台 SDK v4.9 来啦!

Proxy-Go 全平台 SDK是proxy使用gombile实现了一份go代码编译为android和ios平台下面可以直接调用的sdk类库, 另外还为linux和windows提供sdk支持,基于这些类库,APP开发者可以轻松的开发出各...

狂奔的蜗牛. ⋅ 06/12 ⋅ 0

转:一套代码iOS、Android两端运行,Google Flutter意味着什么?

原文:https://www.toutiao.com/a6569388465538990600/?ttfrom=weixin&utmcampaign=clientshare×tamp=1529580533&app=newsarticle&utmsource=weixin&iid=35476649324&utmmedium=toutiao......

鸿蒙无上至尊 ⋅ 今天 ⋅ 0

ZipperDown漏洞来了!微博、陌陌、快手等常用 iOS 应用恐要中招

雷锋网(公众号:雷锋网)消息,5月15日,盘古实验室对外宣布,他们在针对不同客户的 iOS 应用安全审计过程中,发现了一类通用的安全漏洞---ZipperDown漏洞。 10%的iOS应用可能受ZipperDow...

郭佳 ⋅ 05/15 ⋅ 0

React Native SDK for OSS

此文主要介绍 React Native SDK for OSS的方方面面,包括相关基本概念、项目背景、项目方案、环境搭建运行、使用姿势、注意事项等。文末的附件可运行Example Zip压缩包和针对新手的入门实用文...

zuozhao ⋅ 05/18 ⋅ 0

一套代码iOS、Android两端运行,Google Flutter意味着什么?

作者 | 屠敏 一套代码可支持 Android 和 iOS 双端运行,你 Get 了吗? 它就是 Flutter。其目标是为了解决移动中的两个重要问题:一是实现原生应用的性能和与平台的集成,二是提供一个多平台,...

终端研发部 ⋅ 今天 ⋅ 0

iOS12 beta 1系统被攻破,越狱视频被分享

半个月前,iOS 12 在 WWDC 2018 苹果全球开发者大会上正式亮相,开发者用户开始下载iOS 12 开发者预览版 Beta1 固件进行升级体验。 十几天后,6月17日凌晨2点,腾讯科恩团队在推特分享了iOS...

又田 ⋅ 前天 ⋅ 0

Windows 10 新功能 Nearby Share 支持 Android 、iOS

Windows 10 April Update 中引入了诸多新功能,其中一项功能是 Nearby Share/Near Share,它可让用户轻松地将文件从一台 Windows 10 PC 传输到另一台,在 Build 2018 大会上,微软确认该功能...

雨田桑 ⋅ 05/15 ⋅ 0

如何判断你是合格的高级iOS开发工程师?

前言 随着移动互联网的高速发展泄洪而来,有意学习移动开发的人越来越多了,竞争也是越来越大,需要学习的东西很多。如何才能在激烈的移动开发者竞争中一枝独秀,成为一名真正合格的高级iOS...

_小迷糊 ⋅ 05/26 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Confluence 6 从其他备份中恢复数据

一般来说,Confluence 数据库可以从 Administration Console 或者 Confluence Setup Wizard 中进行恢复。 如果你在恢复压缩的 XML 备份的时候遇到了问题,你还是可以对整个站点进行恢复的,如...

honeymose ⋅ 4分钟前 ⋅ 0

myeclipse10 快速搭建spring boot开发环境(入门)

1.创建一个maven的web项目 注意上面标红的部分记得选上 2.创建的maven目录结构,有缺失的目录可以自己建立目录补充 补充后 这时候一个maven的web项目创建完成 3.配置pom.xml配置文件 <proje...

小海bug ⋅ 16分钟前 ⋅ 0

nginx.conf

=========================================================================== nginx.conf =========================================================================== user nobody; #......

A__17 ⋅ 19分钟前 ⋅ 0

645. Set Mismatch - LeetCode

Question 645. Set Mismatch Solution 思路: 遍历每个数字,然后将其应该出现的位置上的数字变为其相反数,这样如果我们再变为其相反数之前已经成负数了,说明该数字是重复数,将其将入结果r...

yysue ⋅ 33分钟前 ⋅ 0

Python这么强?红包杀手、消息撤回也可以无视,手机App辅助!

论述 标题也许有点不好理解,其实就是一款利用Python实现的可以监控微信APP内的红包与消息撤回的助手。不得不说,这确实是一款大家钟意的神器。 消息撤回是一件很让人恶心的事,毕竟人都是有...

Python燕大侠 ⋅ 49分钟前 ⋅ 0

压缩打包介绍、gzip压缩工具、bzip2压缩工具、xz压缩工具

压缩打包介绍 压缩的好处不仅能节省磁盘空间而且在传输的时候节省传输时间和网络带宽 windows系统下文件带有 .rar .zip .7z 后缀的就是压缩文件 linux系统下则是 .zip, .gz, .bz2, .xz, ...

黄昏残影 ⋅ 53分钟前 ⋅ 0

观察者模式

1.利用java原生类进行操作 package observer;import java.util.Observable;import java.util.Observer;/** * @author shadow * @Date 2016年8月12日下午7:29:31 * @Fun 观察目标 **/......

Cobbage ⋅ 56分钟前 ⋅ 0

Ubuntu打印服务器配置

参考:https://blog.csdn.net/gsls200808/article/details/50950586 https://blog.csdn.net/jiay2/article/details/80252369 https://wiki.gentoo.org/wiki/HPLIP 由于媳妇儿要大量打印资料,......

大熊猫 ⋅ 今天 ⋅ 0

面试的角度诠释Java工程师(二)

原文出处: locality 续言: 相信每一位简书的作者,都会有我这样的思考:怎么写好一篇文章?或者怎么写好一篇技术类的文章?我就先说说我的感悟吧,写文章其实和写程序是一样的。为什么我会...

颖伙虫 ⋅ 今天 ⋅ 0

github中SSH的Key

https://help.github.com/articles/connecting-to-github-with-ssh/ https://help.github.com/articles/testing-your-ssh-connection/ https://help.github.com/articles/adding-a-new-ssh-k......

whoisliang ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部