开发 出行解决方案接入规范 行程中-相关服务 司乘同显 司乘同显-乘客端-iOS

司乘同显-乘客端-iOS 最后更新时间: 2021年01月22日

概述

司乘同显iOS乘客端服务接入和重要功能介绍, 相关具体接入文档请查看参考手册.

快速接入

**流程与司机端一一对应:

1、创建MAPassengerRouteManager

1) 初始化:

  _routeManager = [[MAPassengerRouteManager alloc] initWithMapView:_mapView delegate:self];
  //是否开启log输出
    _routeManager.enableDebugLog = YES;
  //是否显示步行路线
    _routeManager.showsWalkPolyline = YES;
  //是否显示行驶过的路线
    _routeManager.showsPassedTrace = YES;
  
    _routeManager.traceKey = [[SCTXAppSettings sharedInstance] appKey];
    _routeManager.traceSID = [[SCTXAppSettings sharedInstance] sid];

    _routeManager.carImage = [UIImage imageNamed:@"taxi_car"];
    _routeManager.startImage = [UIImage imageNamed:@"startPoint"];
    _routeManager.endImage = [UIImage imageNamed:@"endPoint"];


2、设置订单信息

1)创建OrderProperty

[_routeManager setOrderInfoWith:[self getOrderIdText]
                  beginPosition:_selectedStartPoint.coordinate
                    endPosition:_selectedEndPoint.coordinate];

3、切换订单状态

1)订单状态类型

///行程状态
typedef NS_ENUM(NSInteger, MASCTXRouteStatus)
{
    MASCTXRouteStatusUnspecified = 0, ///<未指定状态
    MASCTXRouteStatusPickupPassenger = 1, ///<去接乘客
    MASCTXRouteStatusWaitPassenger = 2, ///<等待乘客上车
    MASCTXRouteStatusPassengerOnBoard = 3, ///<乘客已上车
    MASCTXRouteStatusOrderComplete = 4, ///<订单已结束
    MASCTXRouteStatusOffline = 5, ///<离线状态,只走降级策略获取司机位置,内部不做其他请求
};

2)订单状态切换

_routeManager.status = MASCTXRouteStatusXXX;

功能使用

功能1: 展示步行路径规划

///是否显示步行线,默认为NO。只在 MASCTXRouteStatusPickupPassenger和MASCTXRouteStatusWaitPassenger状态有效果。
@property (nonatomic, assign) BOOL showsWalkPolyline;


功能2: 展示历史轨迹

///是否走过的路线,默认为NO。如果设置为YES,则走过路线采用passedTraceImage纹理,设置nil则为默认灰色纹理。
@property (nonatomic, assign) BOOL showsPassedTrace;

功能3: 展示剩余时间 / 剩余里程

/**
 @brief 当前导航行程中,剩余距离和时间的回调
 @param manager           MAPassengerRouteManager
 @param remainingDistance 剩余距离
 @param estimatedTime     预计时间
 */
- (void)routeStatusChangeForManager:(MAPassengerRouteManager *)manager
                  remainingDistance:(double)remainingDistance
                      estimatedTime:(NSTimeInterval)estimatedTime;

乘客端常量枚举值说明

 枚举值 

 含义 

 备注 

 建议 

 1014 

 司机端修改上车点 


 收集即可,无需做处理 

 1015 

 司机端修改目的地 


 收集即可,无需做处理 

 1016 

 司机端修改途经点 


 收集即可,无需做处理 

 2001 

 订单不存在 

 一般是由于司机端还没有设置订单信息,乘客端先设置了订单信息,且切换到了接驾或者送驾状态造成的 

 开发确认司乘SDK接口设置订单号一致,不连续报该错误,即认为正常; 

 2002 

 参数错误 

 请求参数有误 

 收集即可,并检查错误内容 

 2003 

 订单状态不匹配 

 乘客端设置的订单状态与司机端设置的订单状态不匹配,这种情况下会造成乘客端无法显示路线 

 开发确认司乘SDK状态接口设置一致,不连续报该错误,即认为正常; 

 2004 

 无法获取子订单信息 


 开发确认司乘SDK子订单接口设置一致,不连续报该错误,即认为正常; 

 3002 

 拉取选择路线失败 


 收集即可,无需做处理 

 3003 

 推送乘客选择的路线到司机端成功 


 收集即可,无需做处理 

 3004 

 推送乘客选择的路线到司机端失败 


 收集即可,无需做处理 

 3011 

 乘客端重新拉取路线与当前路线一致,请求稍后重试 

 内部保护,避免短时间内重复拉取路线,造成流量浪费 

 收集即可,无需做处理 

 4001 

 司机端GPS信号弱,司机位置更新可能会延时 


 收集即可,无需做处理 


返回顶部 示例中心 常见问题 智能客服 公众号
二维码