android司乘同显sdk | 百度地图api sdk-凯发k8官方旗舰厅

凯发k8官方旗舰厅-凯发app官方网站
全部服务产品
开发者频道
服务升级
登录
订单管理
下载开发文档
创建订单信息

以下是创建订单的几个重要调用方法介绍,更多设置可以参考bnorderinfo类参考说明:

bnorderinfo orderinfo =newbnorderinfo();
// 订单状态(一定要使用定义常量)
orderinfo.orderstate=bnorderstate.waiting_for_service;
// 厂商服务标识
orderinfo.companyserverid="88888888";
// 订单id
orderinfo.orderid="1111111";
// 司机标识
orderinfo.driverid="222222";
// 起点
orderinfo.startnode=newbnrouteplannode(startlon, startlat,"起点",null,bnrouteplannode.coordinatetype.gcj02);
// 司机当前定位点
orderinfo.curlocationnode=newbnrouteplannode(loclon, loclat,"司机位置",null,bnrouteplannode.coordinatetype.gcj02);
// 接乘客点
orderinfo.pickupnode=newbnrouteplannode(passlon, passlat,"接乘客点",null,bnrouteplannode.coordinatetype.gcj02);
添加订单至百度导航sdk
baidunavimanagerfactory.getusecarmanager().addorder(orderinfo);
待服务状态

如果addorder时订单为待服务状态则不需要调用updateorder更新订单状态至待服务状态。否则调用:

baidunavimanagerfactory.getusecarmanager().updateorder(orderinfo.orderid,bnorderstate.waitint_for_service);

注:该状态没有做任何操作,可酌情省略。

接乘客状态

在等待服务状态下点击出发就会进入接乘客状态,通过调用updateorder方法从等待服务状态进入接乘客状态。

baidunavimanagerfactory.getusecarmanager().updateorder(orderinfo.orderid,bnorderstate.pickup_passenger);

进入接乘客状态后会进入前台轻导航模式,此时如果算路失败,会提供算路重试接口,同时在点击导航按钮也会自动进行重新算路。
在接乘客状态点击导航按钮会进入专业导航模式,在点击导航按钮时调用startprofessionalnavi()方法:

baidunavimanagerfactory.getlightnavimanager().startprofessionalnavi();

从专业导航模式切换回轻导航模式调用onbackpressed()方法:

baidunavimanagerfactory.getrouteguidemanager().onbackpressed(false);
等待乘客状态

点击到达之后调用updateorder更新状态至导航sdk,此时会清除路线,结束轻导航:

bnsharelocationmanager.getinstance().updateorder(orderinfo.orderid,bnorderstate.waiting_for_passenger);
送乘客状态

点击开始服务后调用updateorder更新状态至导航sdk,此时会重新发起算路,算路成功后会自动开始前台轻导航,算路失败和点击导航按钮的处理方法和接乘客状态一致:

bnsharelocationmanager.getinstance().updateorder(orderinfo.orderid,bnorderstate.send_passenger);
订单完成状态

点击服务完成需要调用updateorder更新状态至导航sdk,同时退出订单流程页面:

bnsharelocationmanager.getinstance().updateorder(orderinfo.orderid,bnorderstate.finish);
修改订单终点

方法介绍:

/**
* 修改订单终点重算路
*
* @param orderid 订单id
* @param endnode 终点坐标
*/
voidupdateorderendposition(string orderid,bnrouteplannode endnode);

用法示例:

bnrouteplannode endnode =newbnrouteplannode(114.033634,22.612795,"","",bnrouteplannode.coordinatetype.bd09ll);baidunavimanagerfactory.getusecarmanager().updateorderendposition(orderinfo.orderid, endnode);

上一篇

导航sdk初始化

下一篇

驾车页

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

网站地图