更新记录
1.0.1(2026-07-15)
测试
1.0.0(2026-07-15)
- 首版发布。
- 支持 Android、iOS 应用内开启高德语音导航,无需跳转高德地图 App。
- 支持驾车(drive)、骑行(ride)、步行(walk)三种出行方式。
- 提供 startNavigation 快速开启、planRoutes 路径规划、startRouteNavigation 按规划路径导航。
- 实时语音播报由高德导航 SDK 负责,应用内完成全程导航。
- 注意:请在高德开放平台分别为 Android、iOS 应用申请对应平台的 Key,两平台 Key 不可混用。
平台兼容性
uni-app(5.07)
| Vue2 |
Vue2插件版本 |
Vue3 |
Vue3插件版本 |
Chrome |
Safari |
app-vue |
app-nvue |
Android |
iOS |
鸿蒙 |
| √ |
1.0.1 |
√ |
1.0.1 |
- |
- |
- |
- |
5.0 |
12 |
× |
| 微信小程序 |
支付宝小程序 |
抖音小程序 |
百度小程序 |
快手小程序 |
京东小程序 |
鸿蒙元服务 |
QQ小程序 |
飞书小程序 |
小红书小程序 |
快应用-华为 |
快应用-联盟 |
| × |
× |
× |
× |
× |
× |
× |
× |
× |
× |
× |
× |
uni-app x(5.07)
| Chrome |
Safari |
Android |
iOS |
鸿蒙 |
微信小程序 |
| × |
× |
5.0 |
12 |
× |
× |
amap-navigation
在 uni-app / uni-app x 的 Android、iOS 应用内部集成高德地图语音导航,支持驾车、骑行、步行三种出行方式,路径规划与实时语音播报全部在当前 App 内完成,不需要跳转高德地图 App。
特性
- 应用内全屏导航界面(Android 通过
AMapNaviPage 内置导航页,iOS 内嵌 AMapNaviDriveView/WalkView/RideView)
- 三种出行方式:
drive(驾车,默认)、ride(骑行)、walk(步行)
- 路径规划:
planRoutes 返回可选路线,startRouteNavigation 可按指定 routeId 启动导航
- 实时语音播报由高德导航 SDK 负责
- 支持自定义起点名称、终点名称、坐标类型(GCJ-02 / WGS-84)
- 支持 uni-app Vue2、Vue3 以及 uni-app x
准备工作
- 在 高德开放平台 分别为 Android 和 iOS 创建应用并申请 Key:
- Android Key:包名 + 签名 SHA1
- iOS Key:Bundle Identifier
- 两平台的 Key 不可混用
- 申请的 Key 通过调用方传入
apiKey 参数,本插件不在内部硬编码 Key。
安装
在 HBuilderX 中将本插件放入项目的 uni_modules/amap-navigation 目录,或在 DCloud 插件市场安装。
使用
import { startNavigation } from '@/uni_modules/amap-navigation'
startNavigation({
apiKey: '当前平台的高德导航 SDK Key',
latitude: 31.230416,
longitude: 121.473701,
name: '人民广场',
travelMode: 'drive', // drive 驾车(默认),ride 骑行,walk 步行
success: (res) => console.log('导航已开始', res),
fail: (err) => console.error('导航失败', err)
})
路径规划
import { planRoutes, startRouteNavigation } from '@/uni_modules/amap-navigation'
planRoutes({
apiKey,
start: { latitude: 31.230416, longitude: 121.473701 },
end: { latitude: 31.239045, longitude: 121.494512 },
travelMode: 'drive',
success: (routes) => {
// routes: PlannedRoute[],每条含 routeId, distance, duration, points
const route = routes[0]
startRouteNavigation({
apiKey,
routeId: route.routeId,
end: { latitude: route.points[route.points.length - 1].latitude, longitude: route.points[route.points.length - 1].longitude },
travelMode: 'drive'
})
},
fail: (err) => console.error(err)
})
API
| 方法 |
说明 |
startNavigation(options) |
直接按传入的目的地启动导航 |
planRoutes(options) |
路径规划,返回 1~N 条可用路线(驾车支持多路线,步行/骑行按 SDK 能力返回) |
startRouteNavigation(options) |
按 planRoutes 返回的 routeId 启动导航 |
startNavigation Options
| 参数 |
类型 |
默认值 |
说明 |
| apiKey |
string |
— |
当前平台的高德导航 SDK Key |
| latitude |
number |
— |
目的地纬度 |
| longitude |
number |
— |
目的地经度 |
| name |
string |
'' |
目的地名称 |
| travelMode |
'drive' / 'ride' / 'walk' |
'drive' |
出行方式 |
| coordinateType |
'gcj02' / 'wgs84' |
'gcj02' |
坐标类型 |
| showTrafficLights |
boolean |
true |
是否显示路线上的交通信号灯(Android AMapNaviView) |
| strategy |
number |
RouteStrategy.DRIVING_DEFAULT |
驾车路径策略(仅 drive 时生效),参考高德 RouteStrategy 常量 |
出行方式支持
| 平台 |
驾车 |
骑行 |
步行 |
| Android |
支持 |
支持 |
支持 |
| iOS |
支持 |
支持 |
支持 |
权限
- 安卓:INTERNET、ACCESS_FINE_LOCATION、ACCESS_COARSE_LOCATION、ACCESS_NETWORK_STATE、ACCESS_WIFI_STATE、WAKE_LOCK
- iOS:在使用期间获取定位、始终获取定位、运动与健身(用于改善驾车精度)、后台定位 + 音频播放(持续后台导航)
注意事项
- 坐标默认按 GCJ-02(高德坐标)处理;如使用 WGS-84 需显式设置
coordinateType: 'wgs84'。
- 真机首次打基座时请按照高德 SDK 版本编译通过一次;本插件当前集成版本见各平台
config.json。
- iOS 内嵌视图会覆盖到当前 keyWindow 上方,导航结束自动移除。