摩托车路径规划 最后更新时间: 2021年08月05日
从导航SDK v8.0.0版本开始,全面支持摩托车路径规划和导航功能。其中主要区别于驾车的部分,就是在摩托车的路径规划策略中,会将摩托车的车牌号、排量等信息加入到路径规划策略中进行计算。
特别注意:摩托车路径规划是收费接口,您如果申请试用或者正式应用都请通过工单系统提交商务合作类工单进行沟通,否则默认是无法算路成功的。
摩托车的算路接口和驾车都是一样的,SDK是通车辆信息来区别是否为摩托车的。AMapCarInfo的 CarType 为11时为摩托车。
// 构建车辆信息
AMapCarInfo carInfo = new AMapCarInfo();
carInfo.setCarNumber("京C123456"); //设置车牌号
carInfo.setCarType("11"); //设置车辆类型,11代表摩托车
carInfo.setMotorcycleCC(100); //设置摩托车排量
AMapNavi mAMapNavi = AMapNavi.getInstance(this);
// 设置车辆信息
mAMapNavi.setCarInfo(carInfo);
注意,务必在算路前进行车辆信息的设置,否则需要等到下次算路才生效。
处理结果
当路线规划成功时,会触发 AMapNaviListener 的 onCalculateRouteSuccess 回调,在该回调函数中,可以获取路线对象,进行规划路线的显示:
@Override
public void onCalculateRouteSuccess(AMapCalcRouteResult routeResult) {
// 获取路线数据对象
HashMap<Integer, AMapNaviPath> naviPaths = AMapNavi.getInstance(this).getNaviPaths();
// 绘制显示路径
...
}
也可以直接开启导航:
@Override
public void onCalculateRouteSuccess(AMapCalcRouteResult routeResult) {
// 开启导航
AMapNavi.getInstance(this).startNavi(NaviType.GPS);
}
如果路线规划失败,则会触发 AMapNaviListener 的 onCalculateRouteFailure 回调,可以在此回调中来执行相应处理逻辑。