更新时间:2023-05-15
实时公交功能简介
自6.5.8版本起增加实时公交功能,支持根据当前经纬度检索附近站台、线路、实时公交等信息。支持指定线路uid及站台uid检索实时公交信息。支持指定站台订阅上下车提醒。
注意:此功能为高级付费功能,如需测试使用,请先联系我们开通权限。
实时公交检索
实时公交检索共分为三个检索接口,分别为:附近实时公交检索、指定线路公交检索、指定站台公交检索。
注:开启查询之后默认开启定时查询(查询间隔时间根据接口返回的推荐刷新间隔定时查询),SDK内部不会做停止查询的逻辑,如需停止定时查询需调用stopRealTimeNearbyBusRefresh接口(参考步骤4)。
以附近实时公交检索为例:
1创建实时公交检索option并发起检索。
BMKRealTimeNearbyBusOption *option = [BMKRealTimeNearbyBusOption new]; // 经纬度坐标(必选) option.location = CLLocationCoordinate2DMake(39.921933,116.488962); // 城市id(必选) option.cityId = @"131"; // 设置代理 [BMKRealTimeBusManager sharedInstance].delegate = self; // 开始附近实时公交查询 BOOL suc = [[BMKRealTimeBusManager sharedInstance] startRealTimeNearbyBusSearch:option]; if (!suc) { NSLog(@"开始查询附近站点实时公交失败"); }
2实现实时公交检索模块代理
- (void)onGetNearbyBusResult:(BMKRealTimeNearbyBusResult *)result errorCode:(BMKSearchErrorCode)error { if (error != BMK_SEARCH_NO_ERROR) { NSLog(@"附近站点查询失败"); return; } NSLog(@"附近站点查询成功"); }
3更新实时位置
注:建议2秒更新一次实时位置,超过五分钟未更新实时位置SDK内部会停止实时公交查询接口的轮询。
// 更新实时位置传入公交组件 [[BMKRealTimeBusManager sharedInstance] updateRealTimeLocation:location.location.coordinate];
4停止实时公交检索
[[BMKRealTimeBusManager sharedInstance] stopRealTimeNearbyBusRefresh];