实时导航与模拟导航 最后更新时间: 2026年05月29日
实时导航会自动打开手机卫星定位功能,通过手机的定位信息来驱动的导航,应用于实际的导航过程。模拟导航则不需要使用定位功能,仅用于室内模拟使用,目的是让您对导航功能有一些更直观的了解,比如预先了解既定路线的一些情况,如路况信息、电子眼信息等。注意:不要将模拟导航作为实际导航展示。
实时导航的显示效果如下:

模拟导航的显示效果如下:

实现导航的步骤如下:
第一步:创建导航单例,并设置Key
AMapNaviFactory.getAMapNaviInstance(getContext().getApplicationContext(), appkey)第二步:创建导航组件
设置引擎类型、导航类型、起点、终点等信息。
build() {
NavDestination() {
AMapNaviComponent({
appCustomerConfig: {
mType: AmapNaviType.Driver, //引擎类型(驾车、骑行、步行)。当前支持驾车、货车、摩托车
//默认模拟导航
// mNaviType: NaviType.EMULATOR,
//实时导航
mNaviType: NaviType.GPS,
start: {
coordinate: this.startLatLng
}, //起点
end: {
coordinate: this.endLatLng
}, //终点
// wayPoints: this.wayPoints, //途经点
mRouteStrategy: 10, //设置默认规划路线策略
serviceAreaDetailsEnable: true, //服务区信息
goBack: () => {
this.goback()
},
}
})
}.title('导航组件')
.hideTitleBar(true)
.onBackPressed(() => {
this.goback()
return true
})
}第三步:规划路线
如选择驾车,会调用如下接口进行算路
/**
* 算路
*
* @param startPoiInfo 起点poi信息
* @param endPoiInfo 终点poi信息
* @param wayPoiInfos 途经点poi信息
* @param drivingStrategy 导航策略
* @return 发起算路是否成功
*/
public calculateDriveRoute(startPoiInfo: CorePoiInfo| null, endPoiInfo: CorePoiInfo| null, wayPoiInfos: ArrayList<CorePoiInfo> | null, drivingStrategy: number): boolean {}第四步:接收算路回调
/**
* 路线规划成功回调,包括算路、导航中偏航、用户改变算路策略、行程点等触发的重算,具体算路结果可以通过{@link com.amap.api.navi.model.AMapCalcRouteResult}获取
* 可以通过CalcRouteResult获取算路错误码、算路类型以及路线id
* @param routeResult {@link IAMapCalcRouteResult}
* @since 1.0.0
*/
onCalculateRouteSuccess?:(routeResult: IAMapCalcRouteResult | null) => void
/**
* 路线规划失败回调,包括算路、导航中偏航、用户改变算路策略、行程点等触发的重算,具体算路结果可以通过{@link com.amap.api.navi.model.AMapCalcRouteResult}获取
* 可以通过CalcRouteResult获取算路错误码、算路类型以及路线id
* @param routeResult {@link com.amap.api.navi.model.AMapCalcRouteResult}
* @since 1.0.0
*/
onCalculateRouteFailureForResult?:(routeResult: IAMapCalcRouteResult| null) => void在路线规划成功后,才可以开始导航。
第五步:算路成功后开始导航
/**
* 开始导航。实时导航会自动打开手机卫星定位功能。模拟导航则不需要使用定位功能。
*
* @param naviType 导航类型,0:实时导航 1:模拟导航。
* @return 启动成功或者失败。true是成功,false是失败。
* @since 1.0.0
*/
startNavi(naviType: number): boolean;
设置参数0即实时导航,1即模拟导航。
