开发 HarmonyOS NEXT 导航SDK 开发指南 UI界面定制 自定义交通路线

自定义交通路线 最后更新时间: 2026年06月06日

通过AMapNaviViewOptions可以进行路线相关元素的显示隐藏控制,包括自车、罗盘、交通信号灯、路线显隐、路线Marker图标的显隐控制;结合其中的RouteOverlayOption,可以控制路线相关属性的自定义,包括路线宽度、不同路况路线颜色、虚线颜色、置灰效果和颜色 。

路线显隐

可以通过以下接口控制路线显隐,默认显示,隐藏路线时,摄像头、红绿灯、转向箭头、牵引线、起终点等也会一起隐藏。

/**
 * 设置是否自动显示交通路线,默认显示
 *
 * @param autoDrawRoute true, 自动显示;false,隐藏
 * @since 2.2.3
 */
public setAutoDrawRoute(autoDrawRoute: boolean):  void

自车、罗盘显隐

可以通过以下接口控制自车、罗盘显隐,默认显示,设置为隐藏时,牵引线也会被隐藏。

/**
 * 设置是否隐藏AMapNaviView上的CarOverlay,包括自车、罗盘
 * @param isVisible true 显示 false 不显示 默认为显示,设置为false时,牵引线也会隐藏
 * @since 2.2.3
 */
public setCarOverlayVisible(isVisible: boolean)

起终途点\步行轮渡扎点\禁行限行封路icon显隐

路线上的点位标记,包括起点、终点途经点、步行轮渡扎点、禁行限行封路图标。

可以通过以下接口控制其显示和隐藏。

/**
 * 是否显示 起终途点\步行轮渡扎点\禁行限行封路icon
 * @param showStartEndVia 是否显示起终途点
 * @param showFootFerry   是否显示步行轮渡扎点
 * @param showForbidden   是否显示禁行限行图标
 * @since 2.2.3
 */
public setRouteMarkerVisible(showStartEndVia: boolean, showFootFerry: boolean, showForbidden: boolean)

路线宽度

交通路线的宽度包含实线的宽度和虚线的宽度,虚线一般出现在需要步行和轮渡的地方,如下图所示:

修改路线宽度可以调用如下接口,设置为0时,可恢复默认宽度:

/**
 * 设置导航线路的宽度
 *
 * @param lineWidth 单位:像素
 */
public setLineWidth(lineWidth: number):  void

路线颜色

路线的颜色包括不同路况(未知/畅通/缓慢/拥堵/严重拥堵)的路线颜色、虚线颜色、路过置灰的颜色

可以通过以下接口自定义不同路况下的路线颜色,虚线颜色以及路过置灰的颜色(走过的路颜色):

/**
 * 设置自定义的虚线颜色
 * @param color
 * @since 2.2.3
 */
public setDashedLineColor(color: CoreRouteDashedLineColor | undefined):  void
/**
 * 设置不同路况下的路线颜色
 *
 * @param routeStatusColor
 * @since 2.2.3
 */
public setRouteStatusColor(routeStatusColor: ArrayList<CoreRouteTrafficStatusColor>| null):  void
/**
 * 设置自定义的走过路线的颜色
 *
 * @param routeGreyColor
 * @since 2.2.3
 */
public setRouteGreyColor(routeGreyColor: CoreRoutePassLineColor | undefined):  void

路过置灰

路过置灰即将走过路线置成灰色效果,您只需调用如下接口进行效果的开关:

/**
 * 通过路线是否自动置灰
 * 可以使用{@link RouteOverlayOptions#setRouteGreyColor}改变颜色
 *
 * @param afterRouteAutoGray
 * @since 2.2.3
 */
public setAfterRouteAutoGray(afterRouteAutoGray: boolean):  void

在开启路过置灰功能时,还可以自定义其颜色

/**
 * 设置自定义的走过路线的颜色
 * @param routeGreyColor
 * @since 2.2.3
 * @exclude
 */
public setRouteGreyColor(routeGreyColor: CoreRoutePassLineColor | undefined):  void
返回顶部 示例中心 常见问题 智能客服 公众号
二维码