国内天气查询
国内天气查询服务分为基础服务和高级权限。
在基础服务中,用户可通过行政区划代码查询实时天气信息及未来5天天气预报。
在高级权限中,用户可通过经纬度查询实时天气信息、未来7天天气预报及未来24小时逐小时预报。同时,用户还可以通过高级权限获取国内空气质量指数、生活指数、气象预警等丰富信息。
海外天气查询
海外天气查询服务分为基础服务和高级权限。
在基础服务中,用户可通过行政区划代码查询实时天气信息及未来5天天气预报。
在高级权限中,用户可通过经纬度查询实时天气信息、未来7天天气预报及未来24小时逐小时预报。同时,用户还可以通过高级权限获取云量、能见度、降水量等信息。
高级权限需付费开通,您可以联系我们开通15天试用并了解更多信息。
国内天气查询服务功能使用的是地图SDK的检索功能,需要在工程中导入检索功能包BaiduMapAPI_Search.framework
#import <BaiduMapAPI_Base/BMKBaseComponent.h>#import <BaiduMapAPI_Search/BMKSearchComponent.h>
BMKWeatherSearch *search = [[BMKWeatherSearch alloc] init];
search.delegate = self;
BMKWeatherSearchOption* option = [[BMKWeatherSearchOption alloc] init];// 区县的行政区划编码option.districtID = @"110108";//天气服务类型,默认国内option.serverType = BMKWeatherServerTypeDefault;//天气数据类型option.dataType = BMKWeatherDataTypeAll;//语言类型option.languageType = BMKLanguageTypeEnglish;
/***weather搜索*param weatherSearchOption weather检索信息类*异步函数,返回结果在BMKWeatherSearchDelegate的onGetWeatherResult通知*return 成功返回YES,否则返回NO*/BOOL flag = [search weatherSearch:option];if (flag) {NSLog(@"天气查询发送成功");} else {NSLog(@"天气查询检索发送失败");}
/**天气查询结果回调@param searcher 检索对象@param result 天气查询结果@param error 错误码,@see BMKCloudErrorCode*/- (void)onGetWeatherResult:(BMKWeatherSearch *)searcher result:(BMKWeatherSearchResult *)result errorCode:(BMKSearchErrorCode)error {if (error == BMK_SEARCH_NO_ERROR) {//在此处理正常结果}else {NSLog(@"查询失败");}}
通过代理返回的error判断检索是否成功,如果检索成功,可通过解析result字段获取具体的结果。具体使用示例可参照官方demo中的BMKWeatherSearchPage。BMKWeatherSearchResult如下表
结果数据 | 含义 |
---|---|
BMKWeatherSearchNow*realTimeWeather | 天气实况数据 |
BMKWeatherSearchLocation*location | 地理位置信息 |
NSArray<BMKWeatherSearchForecasts*>*forecasts | 未来5天预报数据 |
NSArray<BMKWeatherSearchForecastForHours*>*forecastHours; | 未来24小时逐小时预报,高级字段 |
NSArray<BMKWeatherSearchIndexes*>*lifeIndexes | 生活指数数据,高级字段 |
NSArray<BMKWeatherSearchAlerts*>*weatherAlerts | 气象预警数据,高级字段 |
错误码 | 常见原因 |
---|---|
BMK_SEARCH_NO_ERROR | 检索结果正常返回 |
BMK_SEARCH_SERVER_NO_PERMISSIONS | 需开通权限功能,用户在API控制台中创建或设置某APP的时候禁用了某项服务,若需开通权限,可进入API控制台为AK勾选对应服务 |
BMK_SEARCH_SERVER_NO_ADVANCED_PERMISSIONS | 用户需开通高级权限功能,如:高级权限才允许使用location字段;查询的数据类型与用户类型不匹配; |
BMK_SEARCH_SERVER_DISTRICT_NO_DATA | 所在地区无数据覆盖 |
BMK_SEARCH_SERVER_DISTRICT_ID_ERROR | 天气服务查询的区域编码与约定的编码不符 |
BMK_SEARCH_RESULT_NOT_FOUND | 没有找到检索结果 |
上一篇
下一篇
本篇文章对您是否有帮助?