Google Maps Android API V2使用及问题解决

这一段时间因为毕设题目是:android版的google地图,所以目前在公司忙里偷闲,弄弄毕设,学习学习google android地图的使用


1. 目前google已经不再提供Google Maps Android API V1的API Key的申请,但是google继续对v1提供服务。

2. 因为对android不是特别熟悉,就搭建一个android的google地图框架,都弄了两三天,都是泪啊。但是今天终于看见成果了,窃喜中。

3. 废话不多说了。直接进入正题



<一>  首先应该更新和安装 Android SDK Manager下Extras的Google Play services

<二>  获取API Key

                   给大家推荐一个博客:上面写的东西很好,并且有Key的详细申请方法。 博客地址:http://www.cnblogs.com/mengdd/archive/2013/01/01/2841390.html


<三> 添加Google play services 的类库到eclipse项目中。并且添加对类库的引用。

                  参见官方文档,里面说的很详细,地址:http://developer.android.com/google/play-services/setup.html#ensure


<四> 运行android项目,或许你还会遇到问题。

                 问题 1:地图运行成功后,但是没有画面只是显示:This app won't run without Google Play services,which are missing from your phone,并且在android后台会抛出Google Play Store is missing警告。

                 解决方法:此时我们需要安装com.android.vending.apk,和gms.apk,其中vending.apk是安卓市场,即就是android的电子市场!gms.apk是Google Play services。

找到你的android的主目录下面的 platform-tools文件夹下的 adb 程序。并且把下载好的这两个apk文件放在当前目录下面,然后执行 adb install com.android.vending.apk 和 adb install com.google.android.gms.apk这两条命令

                 问题 2 :当安装完这两个apk以后,再次运行程序,可能你还会遇到:this app won't run unless you update Google Play services,并且后台会报出:Google Play services out of date. Requires 3027100 but found 201010 这样的错误。

                 解决方法:根据提示下载它所要求的Google Play services的版本,比如这里的3027100。然后再次执行 adb install Google Play sevices3027100。

                 问题 3 :当安装新版本的Google Play services时  会提示:Failure [ INSTALL_FAILED_ALREADY_EXISTS] 错误信息。

                 解决方法:先把模拟器中的老版本卸载掉,然后在执行adb install Google Play sevices3027100 命令,哈哈终于成功了,现在你就可以看到google 地图了。

                 注:这个安装的时候可能会抛出 Failure [ INSTALL_FAILED_INVALID_APK ] 无效的apk,这应该是跟虚拟机的版本有关系,低版本的可能会抛出这样的异常,我现在用的是android 4.1.2的虚拟机这样就没问题。


<五>  参考

                 在这要感谢:圣骑士Wind的博客 地址:http://www.cnblogs.com/mengdd/archive/2013/01/01/2841390.html

                 然后还要参见:http://stackoverflow.com/questions/13691943/this-app-wont-run-unless-you-update-google-play-services-via-bazaar

                                             http://developer.android.com/google/play-services/setup.html#ensure

                                             https://developers.google.com/maps/documentation/android/intro

                                             http://www.cnblogs.com/Amandaliu/archive/2013/02/05/2893248.htm

                                             https://developers.google.com/maps/documentation/android/map

                 博客:                http://blog.csdn.net/commonslok/article/details/8665755

                                             http://wenku.baidu.com/view/4363b8fd9e3143323968931b.html

                                             http://download.csdn.net/download/aaren_jiang/5317151

                    


问题:

1. 与 maps.google.com 的连接已中断

                                       

最近本人的Google地图在不使用Wifi,只使用移动Gprs信号的情况下,就出现“数据连接中断,稍后重试”的问题,而且地图无法更新。为此本人查了些资料,特别是这个帖子: 轻松解决Google地图无法定位,Gmail无法绑定,后来我终于找到了问题所在,在上述帖子里,maps.google.com  最新IP已经更换了,还是沿用它的帖子里的地址就故障照旧了,而采用在电脑上 点开始→运行 输入 ping maps.google.com  所获取的IP地址似乎也不行,好像不是正真的IP地址。后来我在http://tool.chinaz.com/IP/这个专门查询IP地址的网站查询到了Google地图的正式IP地址,然后沿用上贴的办法,把我查询到的IP地址替换到HOSTS文件中,终于成功了,故障解决了。带着激动的心情,我分享给和我有一样问题的朋友,希望对大家有用哦。

      

2. 主要问题在于4.0中访问网络不能在主线程中进行,有两个方法可以解决,

第一种是在主线程中增加如下代码:
 
  1. StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder()  
  2.         .detectDiskReads()  
  3.         .detectDiskWrites()  
  4.         .detectNetwork()   // or .detectAll() for all detectable problems  
  5.         .penaltyLog()  
  6.         .build());  
  7. StrictMode.setVmPolicy(new StrictMode.VmPolicy.Builder()  
  8.         .detectLeakedSqlLiteObjects()  
  9.         .detectLeakedClosableObjects()  
  10.         .penaltyLog()  
  11.         .penaltyDeath()  
  12.         .build()); 
 
 
第二种方法是启动异步线程执行

建议启动异步线程来执行网络请求,因为添加的那段代码,需要再API 9 以上包括 9 才可以使用。。。。。

http://geeksun.iteye.com/blog/1447708


               







                


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值