一切就绪!

着手开发前,请先阅读我们的开发者文档

激活 Google Maps Android API

为帮助您起步,我们将引导您在 Google Developers Console 中先完成几项任务:

  1. 创建或选择项目
  2. 激活 Google Maps Android API
  3. 创建相应密钥
继续

获取 API 密钥

如需使用 Google Maps Android API,您必须在 Google API Console 上注册您的应用项目,并获取可添加到应用中的 Google API 密钥。

注意: API 密钥具有各种限制。 您需要仅限于 Android 应用的 API 密钥(而不是仅限于浏览器的密钥)。

获取密钥的快速指南

第 1 步:从 Google API Console 中获取 API 密钥

点击下面的按钮,其指导您完成此流程并自动激活 Google Maps Android API。

获取密钥

备注:

  • 对于 Google Maps APIs Premium Plan 客户:当您看到项目下拉菜单时,您必须选择在您购买 Google Maps APIs Premium Plan 时为您创建的项目。项目名称以 Google Maps APIs for Business 或 Google Maps for Work 或 Google Maps 开头。
  • 如果您要购买 Premium Plan 许可,请联系销售
  • 如果要进行测试,您可以创建一个可在任何平台上使用的通用、不受限的 API 密钥。为了在投入生产之前确保密钥安全,您必须按照下文所述的步骤限制密钥

第 2 步:向您的应用添加 API 密钥

请按以下步骤将 API 密钥加入包含在 AndroidManifest.xml 文件内的应用清单文件。

  1. AndroidManifest.xml 中,通过在 </application> 结束标记前插入以下元素,将其添加为 <application> 元素的子元素:
        <meta-data
            android:name="com.google.android.geo.API_KEY"
            android:value="YOUR_API_KEY"/>
        

    用您的 API 密钥替代 value 属性中的 YOUR_API_KEY。该元素会将密钥 com.google.android.geo.API_KEY 设置为您的 API 密钥的值。

  2. 保存 AndroidManifest.xml 并重新编译您的应用。

:如上所示,com.google.android.geo.API_KEY 是建议使用的 API 密钥元数据名称。可使用具有该名称的密钥向 Android 平台上的多个基于 Google Maps 的 API(包括 Google Maps Android API)验证身份。出于向后兼容性上的考虑,该 API 还支持 com.google.android.maps.v2.API_KEY 名称。该旧有名称只允许向 Android Maps API v2 验证身份。应用只能指定其中一个 API 密钥元数据名称。如果两个都指定,API 会抛出异常。

就这么简单。如果您成功完成了以上步骤,那现在就已大功告成。如果您遇到问题,请参阅以下关于标准 APIPremium Plan 的详细说明。

获取 API 密钥的详细指南

面向标准 Google Maps Android API 用户的详细指南

如果点击按钮后,您未转到所需的目的地,可以换为通过执行以下步骤获取 API 密钥:

  1. 转至 Google API Console
  2. 创建或选择一个项目。
  3. 点击 Continue 以启用 Google Maps Android API。
  4. Credentials 页面上,获取 API 密钥
    注:如果您的现有 API 密钥具有 Android 限制,您可以使用该密钥。
  5. 从显示 API 密钥的对话框中,选择 Restrict key 以设置对该 API 密钥的 Android 限制。
  6. Restrictions 部分,选择 Android apps,然后输入您的应用的 SHA-1 指纹和软件包名称。例如:
    BB:0D:AC:74:D3:21:E1:43:67:71:9B:62:91:AF:A1:66:6E:44:5D:75
    com.example.android.mapexample
  7. 请查看以下关于 API 密钥限制的详细信息
  8. 点击 Save

新的 Android 限制 API 密钥会显示在项目的 API 密钥列表中。API 密钥是类似于如下的字符串:

AIzaSyBdVl-cTICSwYKrZ95SuvNw7dbMuDt1KG0

面向 Google Maps APIs Premium Plan 许可用户的详细指南

如果点击按钮后,您未转到所需的目的地,可以换为通过执行以下步骤获取 API 密钥:

  1. 转至 Google API Console
  2. 从项目下拉菜单中,选择 Google Maps Premium 项目。*
  3. 点击 Continue
  4. Credentials 页面上,获取 API 密钥
  5. 从显示 API 密钥的对话框中,选择 Restrict key 以设置对该 API 密钥的 Android 限制。
  6. Restrictions 部分,选择 Android apps,然后输入您的应用的 SHA-1 指纹和软件包名称。例如:
    BB:0D:AC:74:D3:21:E1:43:67:71:9B:62:91:AF:A1:66:6E:44:5D:75
    com.example.android.mapexample
    请查看以下关于 API 密钥限制的详细信息
  7. 点击 Save

新的 Android 限制 API 密钥会显示在项目的 API 密钥列表中。API 密钥是类似于如下的字符串:

AIzaSyBdVl-cTICSwYKrZ95SuvNw7dbMuDt1KG0

有关 Google API Console 的详细信息

您也可以在 Google API Console 中查找现有密钥

如需了解有关使用 Google API Console 的详细信息,请参阅 API Console 帮助

有关 API 密钥限制的详细信息

Google Maps API 可用于 Android 或 iOS 应用、网络浏览器,并可通过 HTTP 网络服务使用。任何平台上的 API 均可以使用通用(无限制的)API 密钥。您可以选择添加限制。对于 Android 应用,您将密钥限制为您的应用的 SHA-1 指纹和软件包名称。受限制的密钥仅可以在支持相应限制类型的平台上使用。

如何获取您的应用的 SHA-1 指纹

Android API 密钥限制以应用数字证书(即其 SHA-1 指纹)的简要形式为基础。

从 Android Studio 获取证书信息

如果您按照 Google Maps Android API 入门指南中的指示操作,Android Studio 会创建一个包含应用凭据的简单 google_maps_api.xml 文件。

请选择以下方法之一从 Android Studio 中获取您的 API 密钥:

  • 最简单、快捷的方法:使用 Android Studio 为您创建的 google_maps_api.xml 文件中提供的链接:
    1. 复制 google_maps_api.xml 文件中提供的连接,然后将其粘贴到您的浏览器中。该链接跳转至 Google API Console 并通过网址参数向 Google API Console 提供所需的信息,从而减少所需的手动输入。
    2. 按照说明在 Google API Console 上新建一个项目,或者选择某个现有项目。
    3. 为您的项目创建受 Android 限制的 API 密钥。
    4. 复制生成的 API 密钥,返回 Android Studio,并将该 API 密钥粘贴到 google_maps_api.xml 文件中的 <string> 元素中。
  • 速度稍慢的方法:使用 Android Studio 为您创建的 google_maps_api.xml 文件中提供的凭据:
    1. 复制 google_maps_api.xml 文件中提供的凭据。
    2. 转至浏览器中的 Google API Console
    3. 使用所复制的凭据将您的应用添加至某个现有的 API 密钥,或者新建一个 API 密钥。

自己获取证书信息

如果您未按照入门指南中的指示创建应用,则需要自己获取证书的 SHA-1 指纹。首先请确保使用的证书正确。您可能有两个证书:

  • 调试证书:Android SDK 工具会在您执行调试生成阶段时自动生成此证书。此证书只能用于要测试的应用。请勿尝试发布使用调试证书签署的应用。Android 开发者文档中的在调试模式下签署部分详细介绍了调试证书。
  • 发布证书:Android SDK 工具会在您执行版本生成阶段时自动生成此证书。您也可以使用 keytool 程序生成此证书。如果您已准备好向外界发布应用,请使用此证书。

按照下面的步骤,结合使用 keytool 程序与 -v 参数来显示证书的 SHA-1 指纹。如需了解有关 Keytool 的详细信息,请参阅 Oracle 文档

调试证书

显示调试证书指纹

  1. 找到您的调试密钥库文件。该文件的文件名为 debug.keystore,在您首次构建项目时创建。默认情况下,它与 Android Virtual Device (AVD) 文件存储在同一目录下:

    • macOS 和 Linux~/.android/
    • Windows Vista 和 Windows 7C:\Users\your_user_name\.android\
  2. 列出 SHA-1 指纹:

    • 对于 Linux 或 macOS,请打开终端窗口,然后输入以下内容:

      keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android
    • 对于 Windows Vista 和 Windows7,请运行:

      keytool -list -v -keystore "%USERPROFILE%\.android\debug.keystore" -alias androiddebugkey -storepass android -keypass android

您会看到如下所示的输出:

Alias name: androiddebugkey
Creation date: Jan 01, 2013
Entry type: PrivateKeyEntry
Certificate chain length: 1
Certificate[1]:
Owner: CN=Android Debug, O=Android, C=US
Issuer: CN=Android Debug, O=Android, C=US
Serial number: 4aa9b300
Valid from: Mon Jan 01 08:04:04 UTC 2013 until: Mon Jan 01 18:04:04 PST 2033
Certificate fingerprints:
     MD5:  AE:9F:95:D0:A6:86:89:BC:A8:70:BA:34:FF:6A:AC:F9
     SHA1: BB:0D:AC:74:D3:21:E1:43:07:71:9B:62:90:AF:A1:66:6E:44:5D:75
     Signature algorithm name: SHA1withRSA
     Version: 3
发布证书

显示发布证书指纹

  1. 找到您的发布证书密钥库文件。发布密钥库没有默认位置或名称。如果您在构建要发布的应用时未指定其发布密钥库的位置或名称,内部版本会保持 .apk 处于未签署状态,您需要先签署,然后才能发布该版本。对于发布证书,您还需要证书的别名以及密钥库和证书的密码。您可以通过键入以下内容,列出密钥库中所有密钥的别名:

    keytool -list -keystore your_keystore_name

    your_keystore_name 替换为密钥库的完全限定路径和名称,包括 .keystore 扩展名。系统将提示您输入密钥库的密码。然后,keytool 会显示密钥库中所有密钥的别名。

  2. 在终端或命令提示符中输入以下内容:

    keytool -list -v -keystore your_keystore_name -alias your_alias_name

    your_keystore_name 替换为密钥库的完全限定路径和名称,包括 .keystore 扩展名。将 your_alias_name 替换为您在创建证书时为其分配的别名。

您会看到如下所示的输出:

Alias name: <alias_name>
Creation date: Feb 02, 2013
Entry type: PrivateKeyEntry
Certificate chain length: 1
Certificate[1]:
Owner: CN=Android Debug, O=Android, C=US
Issuer: CN=Android Debug, O=Android, C=US
Serial number: 4cc9b300
Valid from: Mon Feb 02 08:01:04 UTC 2013 until: Mon Feb 02 18:05:04 PST 2033
Certificate fingerprints:
    MD5:  AE:9F:95:D0:A6:86:89:BC:A8:70:BA:34:FF:6B:AC:F9
    SHA1: BB:0D:AC:74:D3:21:E1:43:67:71:9B:62:90:AF:A1:66:6E:44:5D:75
    Signature algorithm name: SHA1withRSA
    Version: 3

SHA1 开头的行包含证书的 SHA-1 指纹。指纹是以冒号分隔的 20 个两数位十六进制数的序列。

有关数字证书的更多信息,请参阅关于签署您的应用的 Android 指南。

发送以下问题的反馈:

此网页
Google Maps Android API
Google Maps Android API
需要帮助?请访问我们的支持页面