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

分享到:

 

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

说明

  因为Google Maps的API版本更新,之前的一些教程都是关于旧版本V1的,虽然Google说继续提供服务,但是不再提供API Key的申请。

  而新的V2版本貌似改动还挺大。也没搜到国内有什么系统介绍的博客文章之类的(书肯定是来不及那么新了)。

  断断续续折腾了大概半个月,因为对Android也不是特别熟悉,所以碰到这样那样的问题。

  终于在昨天看见模拟器上跑的地图了。太感人了。

  下面就主要说说要成功做成这一件事的流程吧。

  因为肯定有时效性,所以打上一个时间戳:版本更新事件发生在2012年12月,而这篇博文目前的时间是2013年1月1日。

 

背景

  一些相关的链接:

  Google Maps Android API V1的介绍:

  https://developers.google.com/maps/documentation/android/v1/mapkey?hl=zh-CN

 

  Google Maps Android API v2的初步介绍:

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

  Introduction

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

 

Getting Started

  (本部分参考https://developers.google.com/maps/documentation/android/start

1.首先安装Google Play services SDK

  Google Maps Android API是作为这个SDK的一部分发行的。

  这个安装是通过Android SDK Manager进行,配置好之后的Eclipse上面应该有Android SDK Manager的图标,一般的SDK版本安装和更新都在这里进行。

  安装和更新Extras下的Google Play services即可。

2.获取API key

  获取Maps API key需要两样东西:应用的signing certificate和它的package name

  获取这个key之后,把它加在应用程序的AndroidManifest.xml文件里即可。

  为应用获取一个key还是需要好几个步骤的,下面详细说明:

获取数字证书(digital certificate)信息

  数字证书有Debug和Release两种,下面主要说Debug的。

  要获取一个叫做SHA-1 fingerprint的东西,作为数字证书的一个简短代表。

  这个指纹(fingerprint)是通过一个哈希算法得到的字符串,为了得到你的证书的SHA-1 fingerprint,首先要找到你的debug keystore 文件,文件名叫debug.keystore

  默认情况下它和虚拟机AVD存放在一起,win7下的路径是:C:\Users\your_user_name\.android\,也可以通过Eclipse中的Windows > Prefs > Android > Build来查看这个路径。

  然后,在cmd命令行里运行下列命令:

  keytool -list -v -keystore "C:\Users\your_user_name\.android\debug.keystore" -alias androiddebugkey -storepass android -keypass android

  就显示一大堆东西,其中就有证书指纹:

  

 

  SHA1那一行就包含了证书的SHA-1 fingerprint,是二十段用冒号割开的数字段,每段是两个十六进制的数。

在Google APIs Console上创建API Project

  在Google APIs Console上创建项目,并且注册Maps API。

  首先,去这个网址:https://code.google.com/apis/console/

  用Gmail的账户登录,如果是第一次的话,需要创建项目,默认情况会创建一个叫做API Project的项目。

  点击左边的Services,会在中间看到很多的APIs和Services,找到Google Maps Android API v2,然后把它设置成on,需要接受一些服务条款。

获得API Key

  在左边的导航条中选择API Access。

  在出来的页面中选择Create New Android Key...就可以生成key了:

  

 

    

  然后在对话框中填入:SHA-1 指纹, 分号隔开,然后是应用的 package name.然后就会生成一个Key。

  比如:

  

 

    

3.把API Key加入应用程序

  首先,建立虚拟设备AVD和应用程序。

  关于AVD,官方文档并没详细介绍,我后面会有说明。

  建立好应用程序,注意包名应该和申请key时候的包名一致。

  之后修改AndroidManifest.xml文件:

3.1.在<application>元素中加入子标签

 

<meta-data

    android:name="com.google.android.maps.v2.API_KEY"

    android:value="your_api_key"/>
昵    称:
验证码:

相关文档: