才可以开始工作的API,你将需要下载的API,并确保你有一个谷歌地图Android的API V2关键。API和关键是免费提供的。
- 添加地图
概观
创建一个新的Android应用程序,使用谷歌地图的Android API V2需要几个步骤。许多在本节中列出的步骤,只会进行一次,但一些信息,为未来的应用将是一个方便的参考。地图加入到Android应用程序的整个过程如下:
- 下载并配置谷歌播放服务 SDK。谷歌地图的Android API分发该SDK的一部分。
- 获取API密钥。要做到这一点,你需要注册一个项目,谷歌的API控制台,并得到您的应用程序的签名证书。
- 指定应用程序清单中的设置。
- 添加映射到一个新的或现有的Android项目。
- 发布您的申请!
你不妨开始看一些 示例代码,这是谷歌播放服务SDK包含。
获得谷歌地图Android的API V2
API分发的一部分,谷歌播放服务SDK,您可以下载的Android SDK管理器。要使用谷歌地图的Android API V2在您的应用程序,你将首先需要安装谷歌播放服务SDK。要了解如何安装包,看到 谷歌Play业务文档。
作为先决条件,你需要安装Android SDK。要学习如何做到这一点,请参阅 安装SDK。
谷歌地图API密钥
注: Android的谷歌地图API V2使用密钥管理的新体制。从谷歌地图Android的卷应用,俗称MapView类,现有密钥将无法正常工作与V2的API。
要访问谷歌地图API的地图服务器,你必须到您的应用程序添加一个地图API密钥。关键是免费的,你可以使用它与任何您的应用程序调用的地图API,它支持无限数量的用户。从谷歌的API控制台获得地图API密钥提供您的应用程序的签名证书,其包名。一旦你有钥匙,你把它添加到你的应用程序,您的应用程序清单文件AndroidManifest.xml中
添加元素。
Android的出版流程和要求了解的过程中,您的应用程序注册并获得关键需要一些知识。总之,所有的Android应用程序必须使用数字证书,你持有的私钥签名。由于数字证书是唯一的,他们唯一标识您的应用程序提供了一种简单的方法。这使它们可以跟踪您的应用系统,如谷歌播放商店,并为您的应用程序使用的资源,如谷歌地图服务器跟踪。
注:请参阅更多有关数字证书签名的应用到Android指南 。
地图API密钥的链接,而不是特定的证书/包对用户或应用程序。你只需要一个键,不管你有多少用户的应用程序的每个证书。使用相同的证书的应用程序可以使用相同的API密钥。然而,推荐的做法是签署了彼此不同的证书,并获得您的应用程序为每一个不同的密钥。
获取一键为您的应用程序需要几个步骤。这里描述这些步骤,在下面的章节中详细描述。
- 检索您的应用程序的证书信息。
- 注册一个项目,谷歌的API控制台,并添加地图API作为一个服务项目。
- 一旦你有一个项目落户,你可以请求一个或多个键。
- 最后,你可以添加你的钥匙到您的应用程序,并开始发展。
显示的证书信息
地图API密钥是基于您的应用程序的数字证书,被称为SHA-1指纹的简短形式。指纹常用的SHA-1散列算法生成的是一个独特的文本字符串。因为本身独特的指纹,谷歌地图使用它作为一种方法来确定您的应用程序。
要显示您的证书的SHA-1指纹,首先确保您有证书本身。您可能有两个证书:
- 调试证书:Android的SDK工具,当你做“调试”建立在命令行,或当它作为一个发布的应用程序而不导出生成并运行一个项目从Eclipse自动生成此证书。该证书只能使用一个应用程序,你测试,你不能发布一个应用程序的调试证书签署。调试 在Android开发人员文档在调试模式下的部分签名证书中详细描述。您可以生成一个API密钥从这个证书,但只能使用密钥进行测试,从来没有进行生产。
- 释放证明:Android的SDK工具生成此证书,当你做一个“释放”的身材,无论是
蚂蚁
程序或者Eclipse。您还可以生成此证书使用密钥工具
程序。向世界释放一个应用程序,你可以使用此证书。一旦你拥有了正确的证书为您的需求,您可以显示其SHA-1指纹使用keytool的
程序。 - 的Keytool的更多信息,请参阅文档在 http://docs.oracle.com/javase/6/docs/technotes/tools/windows/keytool.html。
▸
显示调试凭证指纹
▸
显示释放证书指纹
创建一个API项目
一旦你有你的签名证书指纹,创建或修改一个项目为您的应用程序在谷歌的API控制台注册地图API。
为了得到一个项目,并注册API:
- 在浏览器中,导航到谷歌的API控制台。
- 如果你还没有使用谷歌的API控制台前,系统会提示您创建一个项目,你用它来 跟踪您使用的谷歌地图Android的API。点击创建项目 ;控制台创建一个新项目,叫做API项目。在接下来的页面中,这个名字出现在左上角。要重命名或以其他方式管理该项目,单击其名称。
- 如果你已经在使用谷歌API控制台,您将立即看到您现有的项目和可用的服务的列表。它仍然是一个好主意,用谷歌地图Android API的一个新的项目,所以选择左上角中的项目名称,然后单击“ 创建“。
- 在主窗口中,你应该看到一个列表的API和服务。如果你不这样做,从左侧的导航栏中选择服务。
- 在中心的网页显示在服务列表中,向下滚动,直到你看到谷歌地图Android的API V2。条目的右侧,按一下开关指示灯,它是。
- 这显示Android的谷歌地图API服务条款。如果您同意服务条款,单击下面的复选框的服务条款,然后单击“ 接受“。返回到列表的API和服务。
你现在准备好地图API密钥。
获取API密钥
如果您的应用程序与谷歌地图的Android的API v2的服务注册,那么你可以申请API密钥。这是可能的,每个项目注册多个键。
为了拿到钥匙:
- 导航到您的项目在谷歌的API控制台。
- 在左侧导航栏中,单击“ API访问。
- 在结果页面中,单击“ 创建新的Andr oid重点。
- 在出现的对话框中,输入的SHA-1指纹,然后一个分号,然后您的应用程序的包名。例如:
BB :0D :AC :74 :D3 :21 :E1 :43 :67 :71 :9B :62 :91 :AF :A1 :66 :6E :44 :5D :75 ; COM 。例如机器人。mapexample
- 谷歌的API控制台响应显示键Android应用程序(带证书),其次是一个40个字符的API密钥,例如:
AIzaSyBdVl - cTICSwYKrZ95SuvNw7dbMuDt1KG0
- 复制此键值。在下一个步骤中,你会使用它。
添加到您的应用程序的API密钥
最后一步是添加到您的应用程序的API密钥。它在您的应用程序的清单,包含在文件AndroidManifest.xml中
去。从那里,地图API读取键值,并把它传递给谷歌地图服务器,然后确认您可以访问谷歌地图数据。
要添加到您的应用程序的关键:
- 在
AndroidManifest.xml中
,添加下列元素作为一个孩子的的<application> 元素,将它插入前结束标记</应用程序>
:<元数据
的Android版 本:名称= “com.google.android.maps.v2.API_KEY”的
Android版 本:值=的“API_KEY” />
以您的API密钥为API_KEY。此元素设置的关键com.google.android.maps.v2.API_KEY
值API_KEY和使得可见任何MapFragment在你的应用程序API密钥 。 - 以下元素添加到您的清单。更换
com.example.mapdemo
您的应用程序的包名。
<permission
android:name="com.example.mapdemo.permission.MAPS_RECEIVE"
android:protectionLevel="signature"/>
<uses-permissionandroid:name="com.example.mapdemo.permission.MAPS_RECEIVE"/>
- 保存
AndroidManifest.xml文件
,并重新建立你的应用程序。
指定的应用程序清单的设置
使用谷歌地图的Android API的Android应用程序需要在其清单文件AndroidManifest.xml中
指定以下设置:
- 给Android系统的功能和谷歌地图服务器应用程序访问权限。
- 通知应用程序需要OpenGL ES版本2。外部服务可以检测此通知,并采取相应的行动。例如,谷歌播放商店不会显示设备上的应用程序不具备OpenGL ES的第2版。
- 地图API密钥的应用程序。确认您已经注册,通过谷歌地图服务的谷歌API控制台的关键。
本节介绍这些设置和如何将它们添加到 AndroidManifest.xml文件
。
指定权限
设置权限增加 <uses-permission>的 要素作为儿童的<manifest>元素。语法是:
<使用许可的android:名称=的“PERMISSION_NAME” />
例如,要求Internet权限,添加:
<使用权限的Android:名称= “android.permission.INTERNET” />
除了您的应用程序的其他部分所需的权限,则必须添加以下权限,以便使用谷歌地图的Android API:
- android.permission.INTERNET 使用的API从谷歌地图服务器下载地图图块。
- android.permission.ACCESS_NETWORK_STATE 允许API来检查连接状态,以确定是否可以下载数据。
-
com.google.android.providers.gsf.permission.READ_GSERVICES
允许的API来访问谷歌基于网络的服务。 - android.permission.WRITE_EXTERNAL_STORAGE 允许的API缓存地图瓦片数据在设备的外部存储区。
以下权限的建议,但如果您的应用程序不会访问用户的当前位置,无论是编程,或者通过启用“我的位置”层可以忽略不计。
- android.permission.ACCESS_COARSE_LOCATION 允许API来使用WiFi或移动手机的数据(或两者)来确定设备的位置。
- android.permission.ACCESS_FINE_LOCATION 允许API来使用全球定位系统(GPS)来确定设备的位置,在一个很小的区域内。
以下两种权限不需要使用
谷歌地图的Android API v2的,但建议使用。
需要OpenGL ES的第2版
由于第2版的谷歌地图的Android API需要OpenGL ES版本2,您必须添加一个<uses-feature> 元素作为一个孩子的<manifest>元素在 AndroidManifest.xml中
:
<使用功能
的Android版 本:glEsVersion = “0x00020000”
的android:需要= “” />
这将通知外部服务的要求。特别是,它具有防止谷歌播放存储设备上显示您的应用程序不支持OpenGL ES版本2的效果。
添加地图
当你添加引用谷歌播放服务SDK,你的钥匙和定制你的Android清单,你可以尝试添加到您的应用程序的地图。
测试您的应用程序的配置是否正确,最简单的方法是添加一个简单的地图。你将不得不进行修改两个文件:main.xml中
和 MainActivity.java
。请注意,下面的代码是唯一有用的测试针对Android的API 12或更高版本的应用程序设置,此代码不应该被用在生产应用程序。如何添加更健壮的代码的例子出现在本指南中的示例代码。
- 在
main.xml中
,添加下面的代码片段。<?XML
MainActivity.java
,添加下面的代码。package com.example.mapdemo;
import android.app.Activity;
import android.os.Bundle;
publicclassMainActivityextendsActivity{
@Override
protectedvoid onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
}- 生成并运行您的应用程序。你应该看到一个地图。如果你不看地图,确认你已经完成了所有本文档中出现较早的步骤。