更新时间:2023-05-15
上车提醒
注:订阅上车提醒后会根据订阅参数中的索引站点通过BMKBusSubscribeDelegate返回实时公交是否到站信息,SDK内部未做提醒之后取消提醒的逻辑,最近的车辆驶过之后会继续查询下一辆公交车辆的信息并发出提醒,如需取消订阅上车提醒需调用removeGetOnBusSubscribe接口。
1订阅上车提醒
BMKBusSubscribeOption *option = [BMKBusSubscribeOption new]; // 订阅者信息 option.subscriber = [BMKSubscriber new]; // 当前位置 option.subscriber.location = CLLocationCoordinate2DMake(39.921933,116.488962); // 线路唯一标识 option.lineUid = @"99d2ad2863e9afa5fbdc85bb"; // 上下车提醒站点索引 option.stationIndex = 5; // 城市id option.cityId = @"131"; // 设置上下车提醒模块代理 [BMKRealTimeBusManager sharedInstance].subscribeDelegate = self; BOOL suc = [[BMKRealTimeBusManager sharedInstance] getOnBusSubscribe:option]; if (suc) { NSLog(@"上车提醒订阅成功"); } else { NSLog(@"上车提醒订阅失败"); }
2实现上下车提醒模块代理
- (void)onGetOnRealTimeBusSubscribeStatus:(BMKRealTimeBusSubscribeType)subscribeType { switch (subscribeType) { case BMK_BUS_SUBSCRIBE_STATUS_ARRIVE_STATION: NSLog(@"上车提醒:车辆还剩一站即将到站"); break; case BMK_BUS_SUBSCRIBE_STATUS_ARRIVE_SECOND: NSLog(@"上车提醒:车辆还剩一分钟即将到站"); break; case BMK_BUS_SUBSCRIBE_STATUS_NO_BUS: NSLog(@"上车提醒:公交还未发车或者未查询到实时公交车辆信息"); break; case BMK_BUS_SUBSCRIBE_STATUS_PARAMTTER_ERROR: NSLog(@"上车提醒:参数错误"); break; case BMK_BUS_SUBSCRIBE_STATUS_LOCATION_TIMEOUT: NSLog(@"上车提醒:更新实时位置超时"); break; case BMK_BUS_SUBSCRIBE_STATUS_DATA_ERROR: NSLog(@"上车提醒:实时公交数据请求错误"); break; default: break; } }
3取消上车订阅
// 取消上车提醒 [[BMKRealTimeBusManager sharedInstance] removeGetOnBusSubscribe];
下车提醒
注:下车提醒在分别提醒还有一站和还剩一分钟车辆到站之后,SDK内部会取消下车提醒的订阅。
调用方式参考上车提醒。