实现百度地图导航Demo的语音播报功能

上文中实现了在本地导入百度地图导航Demo,那么在此基础上如何实现导航的语音播报呢?php

1、为该应用申请语音播报(也叫注册)java

http://developer.baidu.com/map/index.php?title=android-navsdk/guide/voicenode

SDK内置百度TTS语音播报功能,须要对应用进行受权验证才可以使用,所以须要主动注册应用相关信息。android

第一步:若是不是LBS开放平台的注册开发者,首先须要登陆LBS开放平台进行应用注册,在工程配置的AndroidManifest中有描述。已经完成注册的开发者请直接进入下一步。【上篇文章中已经完成web

第二步:而后须要在导航TTS平台中进行注册申请。 注意此处的应用签名为MD5,AK为在LBS开发平台申请到的AK。MD5签名仅包含字母,不包含分号,获取方法以下:【此方法适用于签名后的apk,若是只是调试用,则直接使用eclipse——Preferences——Android——Build中的MD5签名信息app

PS:为了不注册时弄错签名,建议直接用打包出来的apk查看签名,具体以下:  
1)  将apk修改后缀为 .rar文件后解压; 2) 进入解压后的META-INF目录,该目录下会存在文件CERT.RSA 3) 在该目录下打开cmd,输入命令 :keytool -printcert -file CERT.RSA 这里将会显示出MD5和SHA1签名。

注意:eclipse

一、此处的MD5签名应该和在LBS开放平台注册的应用使用的SHA1是一对。【暂未验证过签名后的apk是否能够正常运行,若是不能够正常运行的话,就须要根据签名后的SHA1注册一个新的应用(LBS和TTS平台)】ide

  【1.一、第一步的时候,在LBS开放平台上注册应用的时候,若是使用的是Eclipse——Preferences——Android——Build中的SHA1信息,那么表明这个应用的调试版本;若是是经过上面命令行的方式查找到的apk中的SHA1信息,则表明这个应用的签名版本。(使用的SHA1不一样,则生成的AK不一样!)ui

   1.二、第二步的时候,在导航TTS平台上注册应用的时候,须要输入MD5和AK信息,而AK信息是和SHA1关联的,因此就须要保证MD5和SHA1关联。因此就须要注意MD5的获取了。this

   1.三、上一篇中我使用的eclipse中查看的SHA1签名,因此此处我使用的也是eclipse种的MD5信息。

  】

二、注册TTS白名单应用是输入的MD5是去除掉冒号(:)的内容。

2、在本地的百度地图导航Demo中修改成模拟导航

修改BaiduNaviManager.getInstance().launchNavigator中的true为false。

/*发起算路操做并在算路成功后经过回调监听器进入导航过程.
             *参数: 
             *activity - 建议是应用的主Activity 
             *nodes - 传入的算路节点,顺序是起点、途经点、终点,其中途经点最多三个,参考 BNRoutePlanNode 
             *preference - 算路偏好,参考RoutePlanPreference定义 [推荐:1,高速优先(用时最少):2,少走高速(路径最短):4,少收费:8,躲避拥堵:16]
             *isGPSNav - true表示真实GPS导航,false表示模拟导航
             *listener - 开始导航回调监听器,在该监听器里通常是进入导航过程页面
             * */
            BaiduNaviManager.getInstance().launchNavigator(this, list, 1, false, new DemoRoutePlanListener(sNode));
相关文章
相关标签/搜索