全部服务产品
开发者频道
服务升级
登录
订单管理
下载开发文档
更改订单状态

状态的维护由乘客端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;

回调方法告知开发者修改订单终点信息是否成功。

上一篇

乘客位置

下一篇

显示与样式

本篇文章对您是否有帮助?