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

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

概述

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

快速接入

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

1、创建PassengerRouteManager

1) 初始化资源,更多设置可以参考RouteOverlayOptions的接口说明:

// 实例司乘同显 参数类
RouteOverlayOptions options = new RouteOverlayOptions();
// 设置 小车图标
options.carIcon(BitmapDescriptorFactory.fromResource(R.drawable.icon_car));
// 设置 起点图标
options.startPointIcon(BitmapDescriptorFactory.fromResource(R.drawable.amap_start));
// 设置终点图标
options.endPointIcon(BitmapDescriptorFactory.fromResource(R.drawable.amap_end));

2)创建PassengerRouteManager

PassengerRouteManager passengerRouteManager = new PassengerRouteManager(this, aMap, options);

2、设置订单信息

1)创建OrderProperty

//设置订单类型(普通、拼车)及订单ID 
OrderProperty orderProperty = new OrderProperty(SCTXConfig.SCTX_ORDER_TYPE_NORMAL, OrderId);

//设置轨迹服务sid,场景:显示历史轨迹(可选)
orderProperty.setServiceId("1786");

2)设置OrderProperty

//设置orderProperty、上车点坐标、目的地坐标
passengerRouteManager.setOrderProperty(orderProperty, new LatLng(39.992932, 116.479262), new LatLng(39.993343, 116.474574));

3、切换订单状态

*流程与司机端一一对应*:passengerRouteManager.setOrderState(SCTXConfig.SCTX_ORDER_STATUS_PICKUPPASSENGER);

功能使用

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

是否显示步行路线
/**
 * 设置是否显示当前乘客位置到上车点的虚线
 *
 * @param isWalkRouteLineEnable 是否显示当前乘客位置到上车点的虚线
 * @since 2.0.0
 */
public void setWalkRouteLineEnable(boolean isWalkRouteLineEnable) 


功能2: 展示历史轨迹

是否显示历史轨迹

/**
 * 是否绘制走过的路,注:若显示完整历史轨迹,需要同步司机位置到VDC
 *
 * @param isDrawPassedTrace
 * @since 2.0.0
 */
public void setDrawPassedTrace(boolean isDrawPassedTrace) 

功能3: 变更途经点

变更途经点
/**
 * 设置途经点信息
 * @param wayPoints
 * @since 2.3.0
 */
public void setWayPoints(List<LatLng> wayPoints)

功能4: 变更目的地

/**
 * 设置终点坐标
 * @param endPosition
 * @since 2.3.0
 */
public void setEndPosition(LatLng endPosition)

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

passengerRouteManager.setPassengerOverlayRouteCallback(new PassengerRouteManager.PassengerRouteCallback() {
    /**
     * 乘客端状态监听
     * @param status 订单状态
     * @param distance 已行驶距离(暂未实现)
     * @param time 已行驶时间(暂未实现)
     * @param remainingDistance  剩余距离
     * @param estimatedTime  预计时间
     * @since 1.0.0
     */
    @Override
    public void onRouteStatusChange(int status,float distance, long time, float remainingDistance, long estimatedTime) {
        Log.e("sctx_amap","state:"+status+"  remainingDistance:"+remainingDistance+ " estimatedTime:"+estimatedTime);
    }
    /**
     * 司机位置回调
     * @param latLng 司机位置
     */
    @Override
    public void onDriverPositionChange(LatLng latLng) {
    }
    
    /**
     * 请求回调错误接口,具体错误码定义参见:SCTXConfig
     * @param errorCode 错误码
     * @param message 错误信息
     */
    @Override
    public void onError(int errorCode, String message) {
        Log.e("sctx_amap","passenger  errorCode:"+errorCode+"  message:"+message);
    }
});

乘客端错误码说明 

 错误码 

 含义 

 备注 

 建议 

 1002 

 乘客端获取司机路线失败,进入路线降级模式 

 当乘客端连续获取路线失败后(默认是10次,用户可以自行设置),为了最大程度的保证用户体验,乘客端会主动进入路线降级模式(乘客端本地算路) 

 记录即可,无需处理 

 1003 

 乘客端结束路线降级 

 进入降级模式后,重新成功获取司机端路线会退出降级模式,使用司机端同步过来的路线 

 记录即可,无需处理 

 1004 

 途径点更新 

 乘客主动更新途经点 

 

记录即可,无需处理

用于后续问题追踪处理

 1005 

 终点更新 

 乘客主动修改终点 

 

记录即可,无需处理

用于后续问题追踪处理

 1006 

 乘客端变更目的地成功 

 修改目的地成功 

 

记录即可,无需处理

用于后续问题追踪处理

 1007 

 乘客端变更目的地失败 

 修改目的地失败 

 需要你重新调用修改目的地接口 

 1008 

 乘客端变更途经点地成功 

 修改途经点成功 

 

记录即可,无需处理

用于后续问题追踪处理

 1009 

 

乘客变更途经点失败

 修改途经点失败 

 需要重新调用变更途经点接口 

 1010 

 乘客端选择路线 

 乘客开始选择路线 

 记录即可,无需处理 

 1011 

 乘客修改上车点 

 乘客主动修改上车点 

 记录即可,无需处理 

 1012 

 

乘客修改上车点成功

 修改上车点成功 

 记录即可,无需处理 

 1013 

 

乘客修改上车点失败

 修改上车点失败 

 需要重新调用变更途经点接口 

 1014 

 司机端修改上车点 

 在行程开始前(接驾状态),司机端修改了上车点,一般是出现在CP通过司机端修改上车点的情景中 

 记录即可,无需处理 

 1015 

 司机端修改目的地 

 行程中(送驾状态)司机端修改了目的地,一般出现在CP通过司机端修改目的地的情境中 

 记录即可,无需处理 

 1016 

 司机端修改途经点 

 行程中(送驾状态)司机端修改了途经点,一般出现在CP通过司机端修改途经点的情境中 

 记录即可,无需处理 

 2001 

 订单不存在 

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

 记录即可,无需处理。如果同一订单长时间报这个错误,需要确认一下订单信息的正确性 

 2002 

 参数错误 

 请求参数有误 

 记录即可,无需处理 

 2003 

 订单状态不匹配 

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

 记录即可,无需处理。
短暂的不需要处理,如果长时间报这个错误需要确认司机端和乘客端订单状态的一致性 

 3002 

 拉取选择路线失败 

 乘客开启选路之后,拉取路线失败 

 需要重新调用开始选路接口 

 3003 

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

 乘客选择路线之后,推送到司机端成功。 

 

司机端开启选路功能才会有。

可以用来提示乘客,“已将路线同步给司机,待司机确认”

 3004 

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

 乘客选择路线之后,推送到司机端失败。 

 需要重新调用开始选路接口。 

 3007 

 司机端切换选择路线成功 

 乘客端选择路线之后收到司机端切换成功的反馈,收到这个错误才说明行中选择路线成功了。 

 收到这个错误码可以提示用户"路线切换成功!" 

 3008 

 行中,切换乘客选择路线失败 

 乘客端选择路线之后收到司机端切换失败的反馈 

 需要提示用户进行重新选择路线 

 3011 

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

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

 记录即可,无需处理 

 4001 

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

 当司机端GPS信号较弱时,会推送消息给乘客端 

 

记录,用作后续问题处理。

可以用来提示乘客,司机位置可能延迟


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