更新记录

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

准备工作

  1. 高德开放平台 分别为 Android 和 iOS 创建应用并申请 Key:
    • Android Key:包名 + 签名 SHA1
    • iOS Key:Bundle Identifier
    • 两平台的 Key 不可混用
  2. 申请的 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 上方,导航结束自动移除。

隐私、权限声明

1. 本插件需要申请的系统权限列表:

需要网络、前台定位、设备震动;持续后台导航时需要后台定位、音频后台能力(iOS)。

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

将当前定位和调用方传入的目的地坐标、地点名称交给高德导航 SDK 用于路径规划与语音播报。插件本身不上传、不存储位置数据。

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

暂无用户评论。