GeoAPI
适用于 iOS SDK v4.9+天气数据是基于地理位置的数据,因此获取天气之前需要先知道具体的位置信息。和风天气提供一个功能强大的城市信息搜索API服务,可获取到需要查询城市的基本信息,包括城市或地区的Location ID(你需要这个ID去查询天气),多语言名称、经纬度、时区、海拔、Rank值、归属上级行政区域、所在行政区域等。
除此之外,城市信息搜索服务还可以帮助你:
- 避免重名城市的困扰
- 在你的应用或网站中根据用户输入的名称返回多个城市结果,便于用户选择准确的城市并返回该城市天气
- 在你的应用或网站中展示热门城市,用户直接选择即可,减少搜索步骤提高用户体验
- 不需要维护城市列表,城市信息更新实时获取
GeoAPI每天每个账号下所有应用前50000次免费,超出部分参考计费方式
城市查询
城市搜索,可获取到该城市的基本信息,包括城市的Location ID(你需要这个ID去查询天气),多语言名称、经纬度、时区、海拔、Rank值、归属上级行政区域、所在行政区域等。 另外,城市搜索也可以帮助你在你的APP中实现模糊搜索,用户只需要输入1-2个字即可获得结果。
接口代码(枚举) | 接口 | 数据类 |
---|---|---|
INQUIRE_TYPE_GEO_CITY_LOOKUP | 城市查询 | GeoBaseClass |
请求参数
请求参数包括必选和可选参数,如不填写可选参数将使用其默认值。
appKey
用户认证key,请参考如何获取你的KEY。例如 appKey=123456789ABC
location
需要查询地区的名称,支持文字、以英文逗号分隔的经度,纬度坐标(十进制,最多支持小数点后两位)、LocationID或Adcode(仅限中国城市)。例如 location=北京
或 location=116.41,39.92
lang
多语言设置,默认中文,当数据不匹配你设置的语言时,将返回英文或其本地语言结果。可选语言请参考多语言参数。
adm
城市的上级行政区划,默认不限定行政区划。 可设定只在某个行政区划范围内进行搜索,用于排除重名城市或对结果进行过滤。例如 adm=beijing
range
搜索范围,可设定只在某个国家范围内进行搜索,国家名称需使用ISO 3166 所定义的国家代码。
world
全球城市范围,默认cn
中国城市范围,可替换为其他国家的ISO 3166 国家代码,例如range=us
us
美国fr
法国uk
英国ru
俄罗斯- 更多国家代码
number
返回结果的数量,取值范围1-20,默认返回10个结果
示例代码
QWeatherConfigInstance.publicID = @"publicID";
QWeatherConfigInstance.appKey = @"key";
QWeatherConfigInstance.appType = APP_TYPE_BIZ;
QWeatherConfigInstance.location = @"beijing";
[QWeatherConfigInstance weatherWithInquireType:INQUIRE_TYPE_GEO_CITY_LOOKUP WithSuccess:^(GeoBaseClass *responseObject) {
NSLog(@"描述->%@",[responseObject description]);
} faileureForError:^(NSError *error) {
NSLog(@"error->%@",error);
}];
返回数据
参数 | 描述 | 示例 |
---|---|---|
code | 状态码,具体含义请参考状态码 | 200 |
location.name | 地区/城市名称 | 南山区 |
location.cid | 地区/城市ID | 101280604 |
location.lat | 地区/城市纬度 | 22.53122 |
location.lon | 地区/城市经度 | 113.92942 |
location.adm2 | 该地区/城市的上级行政区划名称 | 深圳市 |
location.adm1 | 该地区/城市所属一级行政区域 | 广东省 |
location.country | 该地区/城市所属国家名称 | 中国 |
location.tz | 该地区/城市所在时区 | +0800 |
location.utcOffset | 该地区/城市目前与UTC时间偏移的小时数,参考详细说明 | +08:00 |
location.isDst | 该地区/城市是否当前处于夏令时 | 0 |
location.type | 该地区/城市的属性 | city |
location.rank | 地区评分 | 10 |
location.fxLink | 该地区的天气预报网页链接,便于嵌入你的网站或应用 | http://hfx.link/34T5 |
refer.sources | 原始数据来源,可能为空 | |
refer.license | 使用许可,可能为空 |
热门城市查询
获取全球各个国家国家热门城市列表,通过该列表可以让用户轻松查看各国主要城市的天气状况。
接口代码(枚举) | 接口 | 数据类 |
---|---|---|
INQUIRE_TYPE_GEO_TOPCITY | 热门城市查询 | GeoBaseClass |
请求参数
请求参数包括必选和可选参数,如不填写可选参数将使用其默认值。
appKey
用户认证key,请参考如何获取你的KEY。例如 appKey=123456789ABC
lang
多语言设置,默认中文,当数据不匹配你设置的语言时,将返回英文或其本地语言结果。可选语言请参考多语言参数。
range
搜索范围,可设定只在某个国家范围内进行搜索,国家名称需使用ISO 3166 所定义的国家代码。
world
全球城市范围,默认cn
中国城市范围,可替换为其他国家的ISO 3166 国家代码,例如range=us
us
美国fr
法国uk
英国ru
俄罗斯- 更多国家代码
number
返回结果的数量,取值范围1-20,默认返回10个结果
示例代码
QWeatherConfigInstance.publicID = @"publicID";
QWeatherConfigInstance.appKey = @"key";
QWeatherConfigInstance.appType = APP_TYPE_BIZ;
QWeatherConfigInstance.location = @"beijing";
[QWeatherConfigInstance weatherWithInquireType:INQUIRE_TYPE_GEO_TOPCITY WithSuccess:^(GeoBaseClass *responseObject) {
NSLog(@"描述->%@",[responseObject description]);
} faileureForError:^(NSError *error) {
NSLog(@"error->%@",error);
}];
返回数据
参数 | 描述 | 示例 |
---|---|---|
code | 状态码,具体含义请参考状态码 | 200 |
location.name | 地区/城市名称 | 南山区 |
location.cid | 地区/城市ID | 101280604 |
location.lat | 地区/城市纬度 | 22.53122 |
location.lon | 地区/城市经度 | 113.92942 |
location.adm2 | 该地区/城市的上级行政区划名称 | 深圳市 |
location.adm1 | 该地区/城市所属一级行政区域 | 广东省 |
location.country | 该地区/城市所属国家名称 | 中国 |
location.tz | 该地区/城市所在时区 | +0800 |
location.utcOffset | 该地区/城市目前与UTC时间偏移的小时数,参考详细说明 | +08:00 |
location.isDst | 该地区/城市是否当前处于夏令时 | 0 |
location.type | 该地区/城市的属性 | city |
location.rank | 地区评分 | 10 |
location.fxLink | 该地区的天气预报网页链接,便于嵌入你的网站或应用 | http://hfx.link/34T5 |
refer.sources | 原始数据来源,可能为空 | |
refer.license | 使用许可,可能为空 |
POI信息搜索
POI(景点、火车站、飞机场、港口等)信息查询提供该兴趣点的基本信息查询,如Location ID、多语言名称、经纬度、时区、海拔、Rank值、归属上级行政区域、所在行政区域等。
接口代码(枚举) | 接口 | 数据类 |
---|---|---|
INQUIRE_TYPE_GEO_POI_LOOKUP | POI信息搜索 | GeoBaseClass |
请求参数
请求参数包括必选和可选参数,如不填写可选参数将使用其默认值。
location
需要查询地区的名称,支持文字、以英文逗号分隔的经度,纬度坐标(十进制,最多支持小数点后两位)、LocationID或Adcode(仅限中国城市)。例如 location=北京
或 location=116.41,39.92
appKey
用户认证key,请参考如何获取你的KEY。例如 appKey=123456789ABC
type
POI类型,可选择搜索某一类型的POI。
scenic
景点CSTA
潮流站点TSTA
潮汐站点
city
选择POI所在城市,可设定只搜索在特定城市内的POI信息。城市名称可以是文字或城市的LocationID。默认不限制特定城市。
城市名称为精准匹配,建议使用LocaitonID,如文字无法匹配,则数据返回为空。
number
返回结果的数量,取值范围1-20,默认返回10个结果
lang
多语言设置,默认中文,当数据不匹配你设置的语言时,将返回英文或其本地语言结果。可选语言请参考多语言参数。
示例代码
QWeatherConfigInstance.publicID = @"publicID";
QWeatherConfigInstance.appKey = @"key";
QWeatherConfigInstance.appType = APP_TYPE_BIZ;
QWeatherConfigInstance.location = @"beijing";
[QWeatherConfigInstance weatherWithInquireType:INQUIRE_TYPE_GEO_POI_LOOKUP WithSuccess:^(GeoBaseClass *responseObject) {
NSLog(@"描述->%@",[responseObject description]);
} faileureForError:^(NSError *error) {
NSLog(@"error->%@",error);
}];
返回数据
参数 | 描述 | 示例 |
---|---|---|
code | 状态码,具体含义请参考状态码 | 200 |
location.name | 地区/城市名称 | 南山区 |
location.cid | 地区/城市ID | 101280604 |
location.lat | 地区/城市纬度 | 22.53122 |
location.lon | 地区/城市经度 | 113.92942 |
location.adm2 | 该地区/城市的上级行政区划名称 | 深圳市 |
location.adm1 | 该地区/城市所属一级行政区域 | 广东省 |
location.country | 该地区/城市所属国家名称 | 中国 |
location.tz | 该地区/城市所在时区 | +0800 |
location.utcOffset | 该地区/城市目前与UTC时间偏移的小时数,参考详细说明 | +08:00 |
location.isDst | 该地区/城市是否当前处于夏令时 | 0 |
location.type | 该地区/城市的属性 | city |
location.rank | 地区评分 | 10 |
location.fxLink | 该地区的天气预报网页链接,便于嵌入你的网站或应用 | http://hfx.link/34T5 |
refer.sources | 原始数据来源,可能为空 | |
refer.license | 使用许可,可能为空 |
POI范围搜索
提供指定区域范围内查询所有POI信息,方便显示某一区域内的POI天气数据。
接口代码(枚举) | 接口 | 数据类 |
---|---|---|
INQUIRE_TYPE_GEO_POI_RANGE | POI范围搜索 | GeoBaseClass |
请求参数
请求参数包括必选和可选参数,如不填写可选参数将使用其默认值。
location
需要查询地区的以英文逗号分隔的经度,纬度坐标(十进制,最多支持小数点后两位)。例如 location=116.41,39.92
appKey
用户认证key,请参考如何获取你的KEY。例如 appKey=123456789ABC
radius
搜索范围,可设置搜索半径,取值范围1-50,单位:公里。默认5公里。
number
返回结果的数量,取值范围1-20,默认返回10个结果
lang
多语言设置,默认中文,当数据不匹配你设置的语言时,将返回英文或其本地语言结果。可选语言请参考多语言参数。
示例代码
QWeatherConfigInstance.publicID = @"publicID";
QWeatherConfigInstance.appKey = @"key";
QWeatherConfigInstance.appType = APP_TYPE_BIZ;
QWeatherConfigInstance.location = @"116.4,39.1";
[QWeatherConfigInstance weatherWithInquireType:INQUIRE_TYPE_GEO_POI_RANGE WithSuccess:^(GeoBaseClass *responseObject) {
NSLog(@"描述->%@",[responseObject description]);
} faileureForError:^(NSError *error) {
NSLog(@"error->%@",error);
}];
返回数据
参数 | 描述 | 示例 |
---|---|---|
code | 状态码,具体含义请参考状态码 | 200 |
location.name | 地区/城市名称 | 南山区 |
location.cid | 地区/城市ID | 101280604 |
location.lat | 地区/城市纬度 | 22.53122 |
location.lon | 地区/城市经度 | 113.92942 |
location.adm2 | 该地区/城市的上级行政区划名称 | 深圳市 |
location.adm1 | 该地区/城市所属一级行政区域 | 广东省 |
location.country | 该地区/城市所属国家名称 | 中国 |
location.tz | 该地区/城市所在时区 | +0800 |
location.utcOffset | 该地区/城市目前与UTC时间偏移的小时数,参考详细说明 | +08:00 |
location.isDst | 该地区/城市是否当前处于夏令时 | 0 |
location.type | 该地区/城市的属性 | city |
location.rank | 地区评分 | 10 |
location.fxLink | 该地区的天气预报网页链接,便于嵌入你的网站或应用 | http://hfx.link/34T5 |
refer.sources | 原始数据来源,可能为空 | |
refer.license | 使用许可,可能为空 |