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

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

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

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

SDK内置百度TTS语音播报功能,需要对应用进行授权验证才能够使用,因此需要主动注册应用相关信息。

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

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

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

注意:

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

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

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

   1.3、上一篇中我使用的eclipse中查看的SHA1签名,所以此处我使用的也是eclipse种的MD5信息。

  】

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

二、在本地的百度地图导航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));
时间: 2024-10-03 22:16:05

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

百度地图导航算路成功但是无法进入导航页面

百度地图导航算路成功但是无法进入导航页面Warning: Attempt to present <UINavigationController: 0x163852800> on <UIViewCont 在导航页面.m中增加 -(id)naviPresentedViewController { return self; }

2017 计蒜之道 复赛 Windows画图+百度地图导航

因为没有休息好, 打着很异常难受的一场比赛,坚持了一个半小时就撤了. Windows画图:签到题,没什么说的. #include<cstdio> #include<cstdlib> #include<cstring> #include<string> #include<algorithm> #include<iostream> #include<queue> #include<map> #include<

高德地图百度地图导航坐标转换

项目中的定位商家服务搜索用的是高德地图,毕竟高德在地图这块做的比百度好(个人认为).这里吐槽下百度的开发平台,上面开发文档及案例写的真不好,想找某个问题点很难找到和定位,希望百度改善下. 高德转百度(火星坐标gcj02ll–>百度坐标bd09ll) private double[] gaoDeToBaidu(double gd_lon, double gd_lat) { double[] bd_lat_lon = new double[2]; double PI = 3.141592653589

Android百度地图定位demo

AS写的百度地图定位demo 版本V6.0.5 先上效果图     版权声明:本文为博主原创文章,未经博主允许不得转载.

百度地图导航没有语音问题

1.首先开发文档地址 http://lbsyun.baidu.com/index.php?title=android-navsdk 2.开始按照文档做 参考demo 没有什么问题 到了语音播报这个点 文档就有问题了 版本更新后 白名单的注册没有从文档中删除 而且申请白名单的网站也挂了 做到这很容易懵逼 既然版本更新了 后面那两步 注册白名单的就不用管了 3.根据文档地址开通app语音播报和合成服务 这里是重点 注意了 开通成功之后要点击 管理包名 输入包名保存修改 天杀的文档没说 在我阅读大量文

百度地图导航问题

1.Q:工程配置问题及编译无法通过的问题请优先参考以下链接: A:请按以下链接对工程进行必要配置 http://developer.baidu.com/map/i - dk/guide/helloworld 2.Q:未通过授权,暂不能使用百度导航SDK: A:1)确保已在网上申请过AK.http://lbsyun.baidu.com/apiconsole/key?application=key 2)在官方demo上试一下能否通过授权(此过程中请保持网络畅通) 3)如果官方demo出现授权不成功,

JS 百度地图导航

上一篇文章中我们就简单的学习了HTML5 地理定位,那么今天告诉大家我在项目中遇到的一个问题吧,就是怎么实现点击一个按钮就可以调到百度地图,并且获取到你当前的位置,并且导航到指定的地方去. 不想看步骤的可以直接下载DEMO 下载 一.获取目的地坐标 打开百度地图API 鼠标点击拾取坐标网页,http://api.map.baidu.com/lbsapi/getpoint/index.html,通过先缩小再放大,定位到拾取坐标的建筑物. 以北京的朝阳公园为例,定位如下: 鼠标点击的位置就是朝阳公园

(收藏)微信公众平台开发 百度地图导航

一.获取目的地坐标 打开百度地图API 鼠标点击拾取坐标网页,http://developer.baidu.com/map/jsdemo/demo/a6_3.htm,通过先缩小再放大,定位到拾取坐标的建筑物. 以深圳市飞亚达科技大厦为例,定位如下: 鼠标点击大厦名称,获得坐标: 113.962182, 22.544976 这分别表示经度和纬度. 二.百度地图公交.驾车.步行导航 导航接口为 http://api.map.baidu.com/direction //PC&Webapp服务地址 参数

iOS开发之百度地图导航

本篇主要讲述百度地图的导航功能: 第一步:在使用百度导航之前,我们需要在百度地图开放平台上下载导航的 SDK,共85.8M,网速不好的同学可提前准备好. 第二步:引入导航所需的系统包 将AudioToolbox.framework.ImageIO.framework.CoreMotion.framework.CoreLocation.framework.CoreTelephony.framework.MediaPlayer.framework.AVFoundation.framework.Sys