当前位置:首页 » 其他

Google Map API的引入方法

2010-09-14 14:09 本站整理 浏览(11)
使用Google
Map需要先注册,然后由注册网页颁发给你一个与证书相关联的API密钥。另外需要注意的是,由于一个密钥对应着一个证书,所以用同一证书开发的应用程序都必须用 同一个密钥。无论这些程序是不是相关联。当然你也可以注册多个密钥,但是每一个密钥都应该对应于一个特殊的证书。有时候可能会遇到这种情况。比如说多个独立的程序。
因为MapView元素必须关联于一个API密钥,所以在你将MapView元素应用到你的程序之前必须注册你的证书并得到一个Key.为了使你开始运用MapView更加简便,你可以简单的通过SDK tools注册一个debug证书并获得一个临时的API key。
如果你准备将你的程序与Map联系,你必须为你的程序做一个适合的加密密钥标记,而不是一个SDK的debug密钥。这也就意味着迷必须在Google Maps
service上注册你的程序来联系你的证书,这样做了,你就将收到一个新的独特的与你的证书相联系的Maps
API密钥。之后为了使在你的程序中的所有的MapView元素能够正常工作,你必须替换到MapViews中所有的Maps API密钥,这样你的程序就能将此密钥联系到你的现存证书上了。(而不是一个debug证书)。
一个Maps
API Key其实是基于证书的MD5指纹的。
从你的标记的证书中获取MD5指纹
在访问注册页面之前,需要通过Keytool来获取响应证书的指纹。
首先,检查你想用哪个Key来关联你的程序并且确定包含这个key的keystore的路径。
之后,通过-list选项来启动Keytool,而不是目标keystore和关键别名。下面的表列出了你会用到的选项。如图1
这里有一个Keytool的命令,他为在my-release-key.keystore里的alias_name这个key获取了一个MD5证书指纹。如图2
Keytool会提示你为这个keystore和Key输入密码。作为命令的输出,Keytool将会在屏幕打印出指纹。例如如图3:
一旦你得到了指纹,你就可以去Maps
API的注册界面进行下面工作了。
获取SDK
Debug证书的MD5指纹
当你在开发测试你的程序的时候,你或许会将你的程序当作测试模式,也就是说,SDK
build tools会自动的通过测试证书来标记你的程序。为了让你的MapView元素准确的在这一阶段呈现Maps数据,你需要为你的测试证书注册一个临时的API
Key。当你发布你的程序时,你必须为你发布的带有Google
Maps服务的证书注册一个新的API
Key。然后你必须将你程序中的MapView元素重新与API key进行关联。
为了为测试证书获取MD5指纹,首先进入测试keystore。默认情况下,buid toos将测试keystore创建在了AVD目录下。AVD目录的地址因平台的不同而不一样。具体如下,如图4
如果你用的是Eclipse/ADT并且不确定测试keystore的文字,你可以选择Windows>Prefs>Android>Build来查看全路径,这样你可以将它粘贴到一个explorer里面来进入包含有这个keystore的目录。
一旦你进入了这个keystore,通过Keytool名来来为测试证书获取MD5指纹:
如图5
为证书指纹注册Google
Maps服务
当你准备为一个Maps
API Key进行注册时,在浏览器中打开下面网页:
http://code.google.com/android/maps-api-signup.html
之后按照下面步骤:
1.
如果你没有Google账户,通过页面上的链接注册一个。
2.
仔细的阅读服务的Android API条款,如果你同意这些条款,通过屏幕上的选择框进行指出。
3.
将你要注册的程序所用证书的MD5证书指纹粘贴进去
4.
点击“Generate API Key”生成API Key。
服务会处理你的要求,将指纹与你的developer身份相关联并审议一个对应的Key。之后将返回一个结果页面个你你的Key字符串。
为了使用你的API
Key字符串,再次复制并粘贴他到你要用的部分的代码段。
Note:如果你不小心忘记了你的Maps API Key,你可以通过你的证书再次进行注册,注册服务会返回给你一个与该证书对应的相同的API
Key。
将地图的API
Key添加到你的程序中
一旦注册并获得了API
Key,你必须将之添加到你的应用程序的MapView对象中,那样Maps服务才允许他们下载Maps成分。
对于XML
layout领域里的<MapView>元素,将Maps API Key作为一个特殊属性的值添加进去android:apiKey,例如图6:
对于通过代码直接实现的MapView对象,将Maps API Key字符串作为构造方法的参数传进去。例如图7:
实现MapView
Elements的最后一步
·请确保您添加了一个<uses-library>元素引用外部com.google.android.maps库,该元素必须是在应用程序的清单<application>元素的孩子。例如图8:
·通过你在MapView元素中应用的API Key所对应证书标记你的程序。
注意:但API
Key发生改变时,要对所有应用Key的元素的API Key值进行变换。本文出自 “HeartBomp” 博客,请务必保留此出处http://uijump.blog.51cto.com/2080727/391609