开发 HarmonyOS NEXT 导航SDK 开发指南 专业导航 平行路检测

平行路检测 最后更新时间: 2026年05月29日

平行路检测支持“主辅路状态检测”和“高架桥上下状态检测”。当用户所在的位置,具有两条相邻的平行路,如城市快速路的主干道和辅路,绕城高架的桥上和桥下,会收到ParallelRoadListener的回调,表明目前是支持用户自行切换平行路来触发重算的。 

比如AMapNaviParallelRoadStatus.mParallelRoadStatusFlag为1,表明SDK认为目前自车位置是在主路,如果用户当前确实是在主路,用户就无需做任何动作,如果用户当前是在辅路,那么表明SDK的推测是错的,用户可以点击在主路按钮来切换到辅路。

/**
 * 道路切换回调类
 */
export  class AMapNaviParallelRoadStatus implements IAMapNaviParallelRoadStatus {
  STATUS_NONE: number = 0;
  STATUS_MAIN_ROAD: number = 1;
  STATUS_SIDE_ROAD: number = 2;
  mParallelRoadStatusFlag: number = 0;
  mElevatedRoadStatusFlag: number = 0;
  status: number = 0;

  /**
   * 主辅路标识(默认0)
   * 0:无主辅路(车标所在道路旁无主辅路)
   * 1:车标在主路(车标所在道路旁有辅路)
   * 2:车标在辅路(车标所在道路旁有主路)
   *
   */
  public getmParallelRoadStatusFlag():  number {
    return this.mParallelRoadStatusFlag;
  }

  /**
   * 高架上下标识(默认0)
   * 0:无高架
   * 1:车标在高架上(车标所在道路有对应高架下)
   * 2:车标在高架下(车标所在道路有对应高架上)
   *
   */
  public getmElevatedRoadStatusFlag():  number {
    return this.mElevatedRoadStatusFlag;
  }

  /**
   * 道路切换切换状态
   * 0:非路线切换期间
   * 1:道路切换期间
   *
   */
  public getStatus():  number {
    return this.status;
  }
}

开发者可以根据回调返回的值提供对应的操作界面,调用AMapNaviCoreManager 的如下函数来让用户切换平行路:

/**
 * 切换平行路
 *
 * @param type 类型
 *             <li>1:主辅路切换</li>
 *             <li>2:高架桥上下切换</li>
 */
public switchParallelRoad(type: number):  void {
	AMapNaviNative.nativeSwitchParallelRoad(type);
}

操作界面可以参考下图:

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