示例中心
功能在线体验
控制台

高德 开发 Android 导航SDK 开发指南 出行路线规划 货车路线规划

更新时间:2018年03月20日

基本介绍

从导航SDK v6.0.0版本开始,全面支持货车导航功能,包括组件和导航功能。其中主要区别于驾车的部分就是在货车的路径规划策略中,会将货车特有的限高、车型等信息加入路径规划策略进行计算。

针对货车类型的路径规划,核心方法就是通过 AMapCarInfo 类,设置货车对应的参数,然后调用路径规划方法calculateDriveRoute,即可得到货车路径规划结果,进而进行导航。

特别注意:货车路径规划目前默认给出的是测试配额,每日调用次数上限100次,QPS上限1,如果您有更高配额要求,请通过工单系统提交商务合作类工单进行沟通。

使用说明

第 1 步,初始化

在使用货车路径规划前,请您按下列方式初始化。

//获取AMapNavi实例
mAMapNavi = AMapNavi.getInstance(getApplicationContext());
//添加监听回调,用于处理算路成功
mAMapNavi.addAMapNaviListener(this);

第 2 步,计算货车路径规划路线

当 AMapNavi 对象初始化成功后,会进入 onInitNaviSuccess 回调函数,在该回调函数中调用路径规划方法计算路径。请在算路方法前设置货车参数

@Override
    public void onInitNaviSuccess() {
        /**
         * 方法:
         *   int strategy=mAMapNavi.strategyConvert(congestion, avoidhightspeed, cost, hightspeed, multipleroute);
         * 参数:
         * @congestion 躲避拥堵
         * @avoidhightspeed 不走高速
         * @cost 避免收费
         * @hightspeed 高速优先
         * @multipleroute 多路径
         *
         * 说明:
         *      以上参数都是boolean类型,其中multipleroute参数表示是否多条路线,如果为true则此策略会算出多条路线。
         * 注意:
         *      不走高速与高速优先不能同时为true
         *      高速优先与避免收费不能同时为true
         */
        int strategy=0;
        try {
            strategy = mAMapNavi.strategyConvert(true, false, false, false, false);
        } catch (Exception e) {
            e.printStackTrace();
        }
        AMapCarInfo aMapCarInfo = new AMapCarInfo();
        aMapCarInfo.setCarType("1");//设置车辆类型,0小车,1货车
        aMapCarInfo.setCarNumber("京DFZ239");//设置车辆的车牌号码. 如:京DFZ239,京ABZ239
        aMapCarInfo.setVehicleSize("4");// 设置货车的等级
        aMapCarInfo.setVehicleLoad("100");//设置货车的总重,单位:吨。
        aMapCarInfo.setVehicleWeight("99");//设置货车的载重,单位:吨。
        aMapCarInfo.setVehicleLength("25");//  设置货车的最大长度,单位:米。
        aMapCarInfo.setVehicleWidth("2");//设置货车的最大宽度,单位:米。 如:1.8,1.5等等。
        aMapCarInfo.setVehicleHeight("4");//设置货车的高度,单位:米。
        aMapCarInfo.setVehicleAxis("6");//设置货车的轴数
        aMapCarInfo.setVehicleLoadSwitch(true);//设置车辆的载重是否参与算路
        aMapCarInfo.setRestriction(true);//设置是否躲避车辆限行。

        AMapNavi.setCarInfo(aMapCarInfo);

        mAMapNavi.calculateDriveRoute(sList, eList, mWayPointList, strategy);
    }

第 3 步,处理结果

当货车路线规划成功时,若是单一策略,会进 onCalculateRouteSuccess 回调,若是多策略,会进 nCalculateMultipleRoutesSuccess(int[] routeIds) 回调,在该回调函数中,可以进行规划路线显示或开始导航

@Override
public void onCalculateRouteSuccess() {
   //显示路径或开启导航
   /**
    * 获取当前路线导航限制信息(例如: 限高,限宽)
    */
   List<AMapNaviLimitInfo> limitInfos = mAMapNavi.getNaviPath().getLimitInfos();

   /**
    * 获取当前路线导航禁行信息 (例如:禁行)
    */
   List<AMapNaviForbiddenInfo> forbiddenInfos = 
   mAMapNavi.getNaviPath().getForbiddenInfos();
}



示例中心 功能
在线体验
常见问题