事件播报
道路事件播报
1. 导入头文件
#import <NavinfoKit/NavinfoKit.h>
2. 配置APIKEY
参考工程配置说明。
3. 定义 NavinfoTrafficIncidentSearch
定义交通事件搜索对象 NavinfoTrafficIncidentSearch ,并继承搜索协议<NavinfoTrafficSearchDelegate >。
4. 构造NavinfoTrafficIncidentSearch
构造事件搜索对象 NavinfoTrafficIncidentSearch,并设置代理。
_incidentSearch = [[NavinfoTrafficIncidentSearch alloc] init]; _incidentSearch.delegate = self;
5. 设置道路事件搜索查询参数
道路事件搜索查询的请求参数类为 NavinfoTrafficRoadQuery,roadName(道路名)、cityName(城市名)为必设参数。
其它非必要参数请参考API文档。
NavinfoTrafficRoadQuery *query = [NavinfoTrafficRoadQuery new]; query.roadName = @"广贤路"; query.cityName = @"大连";
6. 发起搜索查询参数
通过调用 NavinfoTrafficIncidentSearch的 roadIncidentSearch方法发起道路事件搜索查询。
[_incidentSearch roadIncidentSearch:query];
7. 在回调中处理数据
当查询成功时,代理方法。
- (void)onTrafficIncidentRoadSearch:(NavinfoTrafficIncidentSearch * _Nonnull)incidentSearch result:(NavinfoTrafficIncidentResult * _Nullable)result error:(NSError * _Nullable)error;
其中NavinfoTrafficIncidentResult 返回,NSError 为nil,此时可获取查询结果。
说明:
1) 通过 incidentSearch 获路事件搜索实例。
2) 通过 eventId 获取事件ID信息。
3) 通过 eventInfo 获取事件详情。
4) 通过 lonlat 获取事件位置。
5) 通过 roadName 获取事件路名。
6) 通过 roadDirection 获取事件道路方向。
- (void)onTrafficIncidentRoadSearch:(NavinfoTrafficIncidentSearch *)incidentSearch result:(NavinfoTrafficIncidentResult *)result error:(NSError *)error { NSLog(@"----> onTrafficIncidentRoadSearch"); for (NSInteger index = 0; index < result.totalCount; index++) { NavinfoTIncidentData *data = result.contents[index]; NSString *lonlatStr = [NavinfoLonlat toSringWithLonlats:@[data.lonlat]]; NSLog(@"\nID=%@, \nInfo=%@, \nlonlat=%@, \nroadName=%@, \nroadDir=%@, \nreli=%@, \nsTime=%@, \neTime=%@, \nuTime=%@, \ntype=%ld", data.eventId, data.eventInfo, lonlatStr, data.roadName, data.roadDirection, data.reliability, data.startTime, data.expectExpireTime, data.updataTime, data.eventType); } }
8. 处理失败查询
当检索失败时,Error 会返回,通过该回调函数获取产生的失败的原因。
前方事件播报
1. 导入头文件
#import <NavinfoKit/NavinfoKit.h>
2. 配置APIKEY
参考工程配置说明。
3. 定义 NavinfoTrafficIncidentSearch
定义交通事件搜索对象 NavinfoTrafficIncidentSearch ,并继承搜索协议<NavinfoTrafficSearchDelegate >。
4. 构造 NavinfoTrafficIncidentSearch
构造事件搜索对象 NavinfoTrafficIncidentSearch,并设置代理。
_incidentSearch = [[NavinfoTrafficIncidentSearch alloc] init]; _incidentSearch.delegate = self;
5. 设置前方事件搜索查询参数
前方事件搜索查询的请求参数类为 NavinfoTrafficFrontQuery,lonlats(经纬串)为必设参数,其它非必要参数请参考API文档。
NavinfoTrafficFrontQuery *query = [NavinfoTrafficFrontQuery new]; query.lonlats = @[[[NavinfoLonlat alloc] initWith:11681387 latitude:3985554 gbType:NavinfoGbTypeG02], [[NavinfoLonlat alloc] initWith:11681471 latitude:3985556 gbType:NavinfoGbTypeG02], [[NavinfoLonlat alloc] initWith:11681475 latitude:3985554 gbType:NavinfoGbTypeG02], [[NavinfoLonlat alloc] initWith:16814820 latitude:3985553 gbType:NavinfoGbTypeG02], [[NavinfoLonlat alloc] initWith:11681484 latitude:3985550 gbType:NavinfoGbTypeG02], [[NavinfoLonlat alloc] initWith:11681486 latitude:3985512 gbType:NavinfoGbTypeG02]]; query.direction = 270;
6. 发起搜索查询参数
通过调用 NavinfoTrafficIncidentSearch的 frontIncidentSearch方法发起前方事件搜索查询。
[_incidentSearch frontIncidentSearch:query];
7. 在回调中处理数据
当查询成功时,代理方法。
- (void)onTrafficIncidentFrontSearch:(NavinfoTrafficIncidentSearch * _Nonnull)incidentSearch result:(NavinfoTrafficIncidentResult * _Nullable)result error:(NSError * _Nullable)error;
其中NavinfoTrafficIncidentResult 返回,NSError 为nil,此时可获取查询结果。
说明:
返回参数信息请参考【道路事件语音播报】。
- (void)onTrafficIncidentFrontSearch:(NavinfoTrafficIncidentSearch *)incidentSearch result:(NavinfoTrafficIncidentResult *)result error:(NSError *)error { NSLog(@"----> onTrafficIncidentFrontSearch"); for (NSInteger index = 0; index < result.totalCount; index++) { NavinfoTIncidentData *data = result.contents[index]; NSString *lonlatStr = [NavinfoLonlat toSringWithLonlats:@[data.lonlat]]; NSLog(@"\nID=%@, \nInfo=%@, \nlonlat=%@, \nroadName=%@, \nroadDir=%@, \nreli=%@, \nsTime=%@, \neTime=%@, \nuTime=%@, \ntype=%ld", data.eventId, data.eventInfo, lonlatStr, data.roadName, data.roadDirection, data.reliability, data.startTime, data.expectExpireTime, data.updataTime, data.eventType); } }
8. 处理失败查询
当检索失败时,Error 会返回,通过该回调函数获取产生的失败的原因。
周边事件播报
1. 导入头文件
#import <NavinfoKit/NavinfoKit.h>
2. 配置APIKEY
参考工程配置说明。
3. 定义 NavinfoTrafficIncidentSearch
定义交通事件搜索对象 NavinfoTrafficIncidentSearch ,并继承搜索协议<NavinfoTrafficSearchDelegate >。
4. 构造 NavinfoTrafficIncidentSearch
构造事件搜索对象 NavinfoTrafficIncidentSearch,并设置代理。
_incidentSearch = [[NavinfoTrafficIncidentSearch alloc] init]; _incidentSearch.delegate = self;
5. 设置前方事件搜索查询参数
周边事件搜索查询的请求参数类为 NavinfoTrafficAroundQuery,poiName(POI名称)lonlat(经纬)两个参数不能同时为空,其它非必要参数请参考API文档。
NavinfoTrafficAroundQuery *query = [NavinfoTrafficAroundQuery new]; query.poiName = @"北京大学"; query.lonlat = [[NavinfoLonlat alloc] initWith:11635646 latitude:3992317 gbType:NavinfoGbTypeG02];
6. 发起搜索查询参数
通过调用 NavinfoTrafficIncidentSearch的 aroundIncidentSearch方法发周边事件搜索查询。
[_incidentSearch aroundIncidentSearch:query];
7. 在回调中处理数据
当查询成功时,代理方法。
- (void)onTrafficIncidentAroundSearch:(NavinfoTrafficIncidentSearch * _Nonnull)incidentSearch result:(NavinfoTrafficIncidentResult * _Nullable)result error:(NSError * _Nullable)error
其中NavinfoTrafficIncidentResult 返回,NSError 为nil,此时可获取查询结果。
说明:
返回参数信息请参考【道路事件语音播报】。
- (void)onTrafficIncidentAroundSearch:(NavinfoTrafficIncidentSearch *)incidentSearch result:(NavinfoTrafficIncidentResult *)result error:(NSError *)error { NSLog(@"----> onTrafficIncidentAroundSearch"); for (NSInteger index = 0; index > result.totalCount; index++) { NavinfoTIncidentData *data = result.contents[index]; NSString *lonlatStr = [NavinfoLonlat toSringWithLonlats:@[data.lonlat]]; NSLog(@"\nID=%@, \nInfo=%@, \nlonlat=%@, \nroadName=%@, \nroadDir=%@, \nreli=%@, \nsTime=%@, \neTime=%@, \nuTime=%@, \ntype=%ld", data.eventId, data.eventInfo, lonlatStr, data.roadName, data.roadDirection, data.reliability, data.startTime, data.expectExpireTime, data.updataTime, data.eventType); } }
8. 处理失败查询
当检索失败时,Error 会返回,通过该回调函数获取产生的失败的原因。
1. 导入头文件
#import <NavinfoKit/NavinfoKit.h>
2. 配置APIKEY
参考工程配置说明。
3. 定义 NavinfoTrafficIncidentSearch
定义交通事件搜索对象 NavinfoTrafficIncidentSearch ,并继承搜索协议<NavinfoTrafficSearchDelegate >。
4. 构造NavinfoTrafficIncidentSearch
构造事件搜索对象 NavinfoTrafficIncidentSearch,并设置代理。
_incidentSearch = [[NavinfoTrafficIncidentSearch alloc] init]; _incidentSearch.delegate = self;
5. 设置导航线路事件搜索查询参数
导航线路事件搜索查询的请求参数类为 NavinfoTrafficNaviQuery,lonlats(经纬串)为必设参数。
其它非必要参数请参考API文档。
NavinfoTrafficNaviQuery *query = [NavinfoTrafficNaviQuery new]; NavinfoLonlat *lonlat1 = [[NavinfoLonlat alloc] initWith:11623050 latitude:4007837 gbType:NavinfoGbTypeG02]; NavinfoLonlat *lonlat2 = [[NavinfoLonlat alloc] initWith:11623058 latitude:4007822 gbType:NavinfoGbTypeG02]; NavinfoLonlat *lonlat3 = [[NavinfoLonlat alloc] initWith:11623069 latitude:4007801 gbType:NavinfoGbTypeG02]; NavinfoLonlat *lonlat4 = [[NavinfoLonlat alloc] initWith:11623114 latitude:4007706 gbType:NavinfoGbTypeG02]; NavinfoLonlat *lonlat5 = [[NavinfoLonlat alloc] initWith:11623138 latitude:4007622 gbType:NavinfoGbTypeG02]; query.lonlats = @[lonlat1,lonlat2,lonlat3,lonlat4,lonlat5];
6. 发起搜索查询参数
通过调用 NavinfoTrafficIncidentSearch的 naviIncidentSearch方法发起导航线路事件搜索查询。
[_incidentSearch naviIncidentSearch:query];
7. 在回调中处理数据
当查询成功时,代理方法。
- (void)onTrafficIncidentNaviSearch:(NavinfoTrafficIncidentSearch * _Nonnull)incidentSearch result:(NavinfoTrafficIncidentResult * _Nullable)result error:(NSError * _Nullable)error;
其中NavinfoTrafficIncidentResult 返回,NSError 为nil,此时可获取查询结果。
说明:
返回参数信息请参考【道路事件语音播报】。
- (void)onTrafficIncidentNaviSearch:(NavinfoTrafficIncidentSearch *)incidentSearch result:(NavinfoTrafficIncidentResult *)result error:(NSError *)error { NSLog(@"----> onTrafficIncidentNaviSearch"); for (NSInteger index = 0; index < result.totalCount; index++) { NavinfoTIncidentData *data = result.contents[index]; NSString *lonlatStr = [NavinfoLonlat toSringWithLonlats:@[data.lonlat]]; NSLog(@"\nID=%@, \nInfo=%@, \nlonlat=%@, \nroadName=%@, \nroadDir=%@, \nreli=%@, \nsTime=%@, \neTime=%@, \nuTime=%@, \ntype=%ld", data.eventId, data.eventInfo, lonlatStr, data.roadName, data.roadDirection, data.reliability, data.startTime, data.expectExpireTime, data.updataTime, data.eventType); } }
8. 处理失败查询
当检索失败时,Error 会返回,通过该回调函数获取产生的失败的原因。