(原创)googlemap开发(一)
听说我们的客户有了外国淫,所以领导问我目前的项目里高德地图和讯飞语音支持英文和英文发音不,按照我以往的经验判断,讯飞支持英语发音和识别英语是没有问题的,但是高德这玩意貌似只有我大天朝的地图吧。于是,找资料,问客服得出以下结论:
关于讯飞:
1.英语语音转文字没有问题
2.英语离线命令词识别目前不支持
3.英语离线发音是支持的,需要另外购买发音人资源文件
关于高德:
1.高德是可以设置本地语言的
2.高德的地图内容只有国内的,即使你支持了国外的文字,但是你没有路名和地标名也是扯淡
3.高德地图的导航也只有国内的,这个从第二点就推断出来了,因为没有地名,你导航到哪里去啊
有人问百度地图行不行,他们都一个德行,不用问了。
根据以上的结论可以得出,语音还是可以继续采用讯飞的,但是地图必须是要换掉的。
于是上网搜索关键词:出国都用啥地图啊!!!
得到的结论是:必应地图,here地图,苹果地图,还有最牛掰的但是在我大天朝不能用的Google地图
因为地图应用是要嵌入到我们app内部且要实现导航功能的,所以我们还要找到对应的sdk进行开发才行,于是去找对应的sdk,得出以下结论:
1.bing地图出了sdk,但是只有pc版,还要silverlight支持才行,明显就是为了你的.net嘛,不用不用,虽然有人弄了个bingmap sdk for android,但是也不怎么好使,地址在这里:http://bingmapsandroidsdk.codeplex.com/ 感兴趣就可以研究下,真心不会用。
2.here地图 貌似没有发现相关的开发sdk
3.苹果地图,呵呵……只能苹果用吧
4.google地图是功能最全的,然而除了我大天朝不能用,国外都能用。我就是要开发国外的,我管你天朝能不能用呢。哈哈
于是搜索google地图如何用的问题,必须FQ:
1.首先去谷歌地图开发者官网 https://developers.google.com/maps/documentation/android-api/
2.申请一个开发者的key(申请开发者key需要有谷歌账号的,这个账号就是个gmail账号,做安卓开发的不要问我gmail是啥账号)
3.然后去github下载示例,示例运行需要把申请的key填入到google_maps_api.xml中去,然后运行就可以看到demo了。
事实上过程没有我们想象的这么顺利,尤其是第三步:
1.当你下载了demo会发现这个编译不通过,需要play service才可以,然后你就需要打开sdkmanager去下载google play service ,我下载的是28版本
2.接下来在你的bulid.gradle里配置这个google play service的版本,示例上是8.1.0 你会发现编译不通过,因为你下载的28对应的是8.3.0版本的,改成8.3.0就可以编译通过
3.编译通过后程序就可以运行到你的手机上,但是如果你的手机上没有安装google play service.apk,那么你的地图还是出不来的。
4.出于众所周知的原因,国内的大部分手机是没有安装google play service.apk的。因为你没有安装谷歌服务框架,这个框架要怎么装,我也是找了好久才找到合适的版本的。其实我就是去木蚂蚁官网下载的谷歌服务安装器,然后才安装上了那4个应用,当然这个时候安装的google play service.apk是7.x的,肯定是不能运行示例里的地图的。
5.这个时候你去运行示例会发现一个大大的update按钮,就是让你去升级google play service.apk到最新版本才让你看地图的。这个时候你手机上已经装了google play ,如果你FQ了,那么他会让你去下载,但是我的小米又个问题就是用google play无论如何也是下载不下来任何应用的,不是不下,就是慢的要死,最后都以网络连接错误告终。
6.为了解决这个下载的问题,其实国内有好多厂商都直接把google play上的好多apk都转移到了自己的应用市场,于是我就去安智市场下载了8.3版本,结果提示我您的系统时android4.4.4的,该应用需要android5.0以上版本支持,最后又崩溃了。安智市场是支持下载历史版本的,然后我一个个实验,发现我的系统是可以下载google play service.apk的8.1版本的,于是就下载并安装了8.1版本。
7.但是由于我在示例demo里需要的版本是8.3,地图还是不显示,但这个时候我不知道为什么就又去把版本改成了8.1,结果程序也运行了,然后测试下,地图居然出来了(FQ的情况下,如果出不来请注意你有没有FQ)。
成功了,秀个图
虽然地图出来了,运行了地图才发现都是一些地图显示,标记、画线、室内地图、多地图显示、mapview嵌入、街景地图啥啥的,我要的导航呢?
在官网找半天,也就是webservice里有路径规划啥的,看来是要通过webservice的到一系列坐标,然后画到mapview上,然后自己实现导航了,这显然不如高德地图和百度地图好用嘛……
继续研究中,呜呜呜……
我的github地址:https://github.com/dongweiq/study
欢迎关注,欢迎star o(∩_∩)o 。有什么问题请邮箱联系 dongweiqmail@gmail.com qq714094450