状态的维护由乘客端APP负责,SDK负责接收状态,而不维护状态,也不对状态的转换做限制。SDK在不同的状态下对应不同的策略略。初始化之后的订单状态默认是未知状态。当订 单的状态改变之后,乘客端APP应当通过更改 status 属性的值,来通知司乘同显SDK。
例:
/**订单状态的枚举类型- BMK_SCTX_Order_Status_Unspecified: 未指定状态,SDK初始化之后的状态- BMK_SCTX_Order_Status_ReadyForService: 待服务- BMK_SCTX_Order_Status_PickupPassenger: 司机驱车前往订单起点接乘客- BMK_SCTX_Order_Status_WaitPassenger: 司机已到订单起点,等待乘客上车- BMK_SCTX_Order_Status_GoToDestination: 乘客已上车,司机送乘客去订单终点- BMK_SCTX_Order_Status_OrderComplete: 订单已结束*/typedef NS_ENUM(NSInteger, BMKSCTXOrderStatus) {BMK_SCTX_Order_Status_Unspecified = 0,BMK_SCTX_Order_Status_ReadyForService = 1,BMK_SCTX_Order_Status_PickupPassenger = 2,BMK_SCTX_Order_Status_WaitPassenger = 3,BMK_SCTX_Order_Status_GoToDestination = 4,BMK_SCTX_Order_Status_OrderComplete = 5,};self.sctxManager.status = status;
每个订单对应一个 BMKSCTXPassengerManager 实例,但同一时刻只能有一个司乘同显服务在运行。进入A订单的司乘同显页面时,实例化A订单对应的 BMKSCTXPassengerManager 实例;当需要进⼊入B订单的司乘同显页面时,需要先保证A订单对应的 BMKSCTXPassengerManager 实例已经析构,再实例化B订单对应的 BMKSCTXPassengerManager 实例。
// 停止服务并立即销毁[self.sctxManager onPause];self.sctxManager = nil;
乘客端APP通过调用 BMKSCTXPassengerManager 对象的
/**乘客变更订单终点信息@param endPointInfo 新的订单终点信息@param coordType 终点经纬度坐标类型,建议与全局设置的坐标系(默认百度坐标系)一致*/-(void)updateOrderEndPointInfo:(BMKSCTXPOIPointInfo*)endPointInfo coordType:(BMKSCTXCoordType)coordType;
方法实现变更目的地功能, SDK通过 BMKSCTXPassengerManagerDelegate 中的
/**SDK通过此方法告知开发者修改订单终点信息是否成功@param error 错误码,0:成功,其他:失败*/- (void)onUpdateEndPositionInfoResult:(NSError *)error;
回调方法告知开发者修改订单终点信息是否成功。
上一篇
下一篇
本篇文章对您是否有帮助?