下载文档

uexBaiduNavi
更新时间:2016-09-07

1、简介

百度导航插件

1.1、说明

封装了百度导航的相关功能:您可以使用该插件开发适用于iOS/Android系统移动设备的导航应用,通过调用插件的相关接口,您可以轻松访问百度导航的服务和数据,构建功能丰富、交互性强的导航类应用程序。

注:iOS3.0.1+版本要求配置后台权限,config.xml相关配置详见附录
注:暂不支持IDE使用,使用此插件之前需要进行config.xml相关配置且在线打包,否则无法正常编译,详见附录

1.2、开源源码

点击至插件详情页(插件测试用例与插件包已经提供)

2、 API预览

2.1、 方法

init 初始化

uexBaiduNavi.init(param)

说明

初始化百度导航

回调 cbInit

参数

参数名称 参数类型 是否必选 说明
param String param是json字符串,详情见下
  1. var param = {
  2. baiduAPIKey;//(必选,String)百度APIKey
  3. }
  • 百度APIKey由用户在在百度LBS开放平台申请得来

平台支持

Android 2.2+
iOS 6.0+

版本支持

Android 3.0.0+
iOS 3.0.0+

示例

  1. var data={
  2. baiduAPIKey:"cCfq6oSxA8SKsHB7FopAocyX"
  3. }
  4. uexBaiduNavi.init(JSON.stringify(data));

startRoutePlan 开始路径规划

uexBaiduNavi.startRoutePlan(param)

说明

通过输入起点与终点,可以发起路径规划。百度导航使用gps坐标系,使用前需要转换成对应的坐标系,防止定位偏差。

回调 cbStartRoutePlan 开始路径规划的回调方法

参数

参数名称 参数类型 是否必选 说明
param String param是json字符串,详情见下
  1. var param={
  2. startNode;//(必选,Array)[longitude,latitude]起点 经纬度坐标
  3. endNode;//(必选,Array)[longitude,latitude]终点 经纬度坐标
  4. throughNodes;//(可选,Array)由[longitude,latitude]组成的数组 途经点坐标
  5. mode;//(可选,Number)路径规划模式 1-默认 2-高速优先 3-少走高速
  6. }

平台支持

Android 2.2+
iOS 6.0+

版本支持

Android 3.0.0+
iOS 3.0.0+

示例

  1. var data={
  2. startNode:[113.948222,22.549555],
  3. endNode:[114.089863,22.546236],
  4. throughNodes:[[113.977004,22.556393]],
  5. mode:2
  6. }
  7. uexBaiduNavi.startRoutePlan(JSON.stringify(data));

startNavi 开始导航

uexBaiduNavi.startNavi(param)

说明

成功发起路径规划后,即可以进入真实GPS导航或模拟导航。真实导航中点击转向标可以切换到文字导航模式,文字导航界面点击HUD按钮可以进入HUD导航。

监听 onExitNavi 退出导航的监听方法

  • 成功发起路径规划后,才能调用此方法

参数

参数名称 参数类型 是否必选 说明
param String param是json字符串,详情见下
  1. var param={
  2. naviType;//(可选,Number)导航模式 1-真实导航 2-模拟导航
  3. isNeedLandscape;// (可选,Number) 是否需要横竖屏切换 (导航默认竖屏) 1-需要(默认) 2-不需要
  4. }

平台支持

Android 2.2+
iOS 6.0+

版本支持

Android 3.0.0+
iOS 3.0.0+

示例

  1. var data={
  2. naviType:1,
  3. isNeedLandscape:2
  4. }
  5. uexBaiduNavi.startNavi(JSON.stringify(data));

exitNavi 退出导航

uexBaiduNavi.exitNavi()

说明

安静退出导航,不会有提示框出现

监听 onExitNavi 退出导航的监听方法

参数

平台支持

Android 2.2+
iOS 6.0+

版本支持

Android 3.0.0+
iOS 3.0.0+

示例

  1. uexBaiduNavi.exitNavi();

startDigitDog 开始巡航

uexBaiduNavi.startDigitDog(param)

说明

巡航功能:也即电子狗功能,不用输入起点终点,一键即可进行巡航模式,准确发现前方电子眼信息。

监听 onExitDigitDog 退出巡航的监听方法

参数

参数名称 参数类型 是否必选 说明
param String param是json字符串,详情见下
  1. var param={
  2. isNeedLandscape;// (可选,Number) 是否需要横竖屏切换 (导航默认竖屏) 1-需要(默认) 2-不需要
  3. }

平台支持

iOS 6.0+

版本支持

iOS 3.0.0+

示例

  1. var data={
  2. isNeedLandscape:2
  3. }
  4. uexBaiduNavi.startDigitDog(JSON.stringify(data));

2.2、 回调方法

cbInit 初始化完成的回调方法

uexBaiduNavi.cbInit(param)

说明

初始化完成之后会触发此回调

参数

参数名称 参数类型 是否必选 说明
param String param是json字符串,详情见下
  1. var param={
  2. isSuccess:,// true/false 百度导航插件初始化是否成功
  3. }

平台支持

Android 2.2+
iOS 6.0+

版本支持

Android 3.0.0+
iOS 3.0.0+

示例

  1. uexBaiduNavi.cbInit=function(json){
  2. alert(json);
  3. }

cbStartRoutePlan 开始路径规划的回调方法

uexBaiduNavi.cbStartRoutePlan(param)

说明

路径规划完成之后会触发此回调

参数

参数名称 参数类型 是否必选 说明
param String param是json字符串,详情见下
  1. var param={
  2. resultCode;//1-路径规划成功 2-路径规划失败 3-路径规划被取消
  3. errorInfo;//当且仅当路径规划失败时会包含此项,具体说明见下
  4. }
errorInfo值 对应原因
1 获取地理位置失败
2 无法发起算路
3 定位服务未开启
4 节点之间距离太近
5 节点输入有误
6 上次算路取消了,需要等一会儿

平台支持

Android 2.2+
iOS 6.0+

版本支持

Android 3.0.0+
iOS 3.0.0+

示例

  1. uexBaiduNavi.cbStartRoutePlan=function(json){
  2. alert(json);
  3. }

2.3、 监听方法

onExitNavi 退出导航的监听方法

uexBaiduNavi.onExitNavi()

说明

退出导航时会触发此监听

参数

平台支持

Android 2.2+
iOS 6.0+

版本支持

Android 3.0.0+
iOS 3.0.0+

示例

  1. uexBaiduNavi.onExitNavi=function(){
  2. alert("onExitNavi");
  3. }

onExitDeclaration 退出导航声明页面的监听方法

uexBaiduNavi.onExitDeclaration()

说明

退出导航声明页面时会触发此监听

  • 仅在第一次进入导航页面时,会显示导航声明页面

参数

平台支持

Android 2.2+
iOS 6.0+

版本支持

Android 3.0.0+
iOS 3.0.0+

示例

  1. uexBaiduNavi.onExitDeclaration=function(){
  2. alert("onExitDeclaration");
  3. }

onExitDigitDog 退出巡航的监听方法

uexBaiduNavi.onExitDigitDog()

说明

退出巡航时会触发此监听

参数

平台支持

iOS 6.0+

版本支持

iOS 3.0.0+

示例

  1. uexBaiduNavi.onExitDigitDog=function(){
  2. alert("onExitDigitDog");
  3. }

3、 附录

AppKEY 申请

可以参考百度地图的AppKEY申请指引

TTS语音平台授权

SDK内置百度TTS语音播报功能,需要对应用进行授权验证才能够使用(否则会报TTS授权失败等错误信息),因此需要主动注册应用相关信息。

可以在导航TTS平台中进行注册申请

iOS 插件配置指引

  • iOS 直接传入AppKEY即可在前台正常使用导航功能(iOS3.0.1+版本插件必须配置后台音乐播放和后台定位权限)
  • 如果您的应用需要用到后台导航,需要在config.xml中添加以下后台权限
    • 后台音乐播放
    • 后台定位
  • 如果您没有用到其他后台权限,那么可以参考如下配置
  1. <config desc="bgConfig" type="AUTHORITY">
  2. <permission platform="iOS" info="backGroundMode" flag="3"/>
  3. </config>

Android插件配置指引

将如下所示的value对应的值换成自己在百度上申请的秘钥即可。

  1. <config desc="uexBaiduNavi" type="KEY">
  2. <param name="$uexBaiduNavi_ApiKey$" platform="Android" value="BMZtlp2EMfWQgMG8nOqu6KzG"/>
  3. </config>

附:百度私钥申请地址
安全码生成流程

如果需要使用语音播报,需要按照如下指引申请TTS白名单注册:
http://developer.baidu.com/map/index.php?title=android-navsdk/guide/voice

使用须知:配置的百度地图KEY与打包证书必须一致匹配,配合打包

4、更新历史

API 版本:uexBaiduNavi-3.0.1(iOS) uexBaiduNavi-3.0.3Android)

最近更新时间:2016-08-04

历史发布版本 iOS更新 安卓更新
3.0.4 更新SDK,修改过时方法,修复init回调时机不正确的问题
3.0.3 解决在部份手机上channel找不到的问题
3.0.2 修复终点有偏差的问题
3.0.1 升级SDK2.0.7-支持IPv6;必须开启后台权限 修复仅有起点、终点经纬度坐标时路径规划失败问题
3.0.0 百度导航插件 百度导航插件