开发 HarmonyOS NEXT 导航SDK 开发指南 路线规划 独立路径规划

独立路径规划 最后更新时间: 2026年05月29日

基本介绍

独立路径规划是指路径规划的结果不会自动应用于当前导航,也不会干扰当前的导航,需要手动调用API传入路径规划结果来开始导航。可用于不干扰本次导航的单独路径规划场景,比如路线预览等。适用于驾车/货车路径规划,支持以下几种功能的路径规划功能:

  • 无起点路径规划:路径规划时,起点坐标传空
  • 经纬度路径规划:路径规划时,起终点NaviPoi只传经纬度
  • POI路径规划:路径规划时,可传入POIID,提高规划的准确性。

独立路径规划功能

要实现独立路径规划功能,需要了解以下几个接口:

驾车/货车独立路径规划的接口

调用接口如下,位于IAMapNavi中:

/**
* POI独立算路
*
* @param fromPoi       起点信息
* @param toPoi         终点信息
* @param wayPoints     途经点信息,最多支持16个途经点,超过16个会取前16个。如果POIID合法,优先使用ID参与算路,否则使用坐标点。注意:POIID和坐标点不能同时为空
* @param strategy      算路策略: 驾车参考 {@link com.amap.api.navi.enums.PathPlanningStrategy}, 骑步行参考 {@link TravelStrategy}
* @param transportType 交通类型 1-驾车 
* @param observer      算路结果监听器
* @return 规划路径所需条件和参数校验是否成功,不代表算路成功与否
* @since 2.2.3
*/
independentCalculateRoute(fromPoi: NaviPoi | null, toPoi: NaviPoi, wayPoints: ArrayList<NaviPoi> | null, strategy: number, transportType: number, observer: AMapNaviIndependentRouteListener | null): boolean

独立路径规划结果回调

独立算路与普通算路一样,需要监听算路回调结果。独立算路结果监听器AMapNaviIndependentRouteListener,在调用独立算路接口时,通过最后一个参数传入,内部通知算路结果。

AMapNaviIndependentRouteListener中一共有两个回调,如下:

/**
* 独立算路成功回调
*
* @param group 算路结果(路线组)
* @since 2.2.3
*/
onIndependentCalculateSuccess:(group: AMapNaviPathGroup)=> void;

/**
* 独立算路失败回调
*
* @param routeResult 失败信息
* @since 2.2.3
*/
onIndependentCalculateFail:(routeResult: AMapCalcRouteResult)=> void;

独立路径规划结果

算路成功时,会回调独立算路结果类 AMapNaviPathGroup 的一个对象。此类对象为一个路线集合,集合中会存储这当前的路线,并且可以操作路线的顺序,达到行前选路的效果。

AMapNaviPathGroup中核心方法如下:

/**
* 获取主路线
*
* @return
* @since 2.2.3
*/
public getMainPath():  AMapNaviPath | null 

/**
* 获取主路线的索引
*
* @return
* @since 2.2.3
*/
public getMainPathIndex():  number

/**
* 获取指定索引的路线
*
* @param index 路线索引
* @return
* @since 2.2.3
*/
public getPath(index: number):  AMapNaviPath | null

/**
* 获取路线组的路线数量
*
* @return
* @since 2.2.3
*/
public getPathCount():  number

/**
* 导航前选择主路线
*
* @param routeId 主路线的routeId,第一条路为12,第二条为13,第三条为14
* @since 2.2.3
*/
public selectRouteWithIndex(routeId: number):  boolean

独立路径导航

独立路径规划的路线结果可以为用户提供路线预览,也可以让用户用于导航,接口位于IAMapNavi中,调用方式如下:

/**
* 使用指定路线开始导航
*
* @param naviType  导航类型 {@link com.amap.api.navi.enums.NaviType}
* @param pathGroup 路线组
* @return true-成功 false-失败
* @since 2.2.3
*/
startNaviWithPath(naviType: number, pathGroup: AMapNaviPathGroup): boolean
返回顶部 示例中心 常见问题 智能客服 公众号
二维码