项目配置

作为入门指南的增补内容,本页面介绍了在您的 Android 应用中使用 Maps SDK for Android 时,需要在您的开发项目中进行的所有配置。

概览

向 Android 应用添加地图的完整过程如下:

  1. 安装 Android Studio
  2. 安装并配置 Google Play 服务 SDK,其中包含 Maps SDK for Android。注意:如果您使用的是拥有 Google Maps Platform Premium Plan 许可的 Maps SDK for Android,则必须改为下载并配置 Premium Plan SDK
  3. 获取 API 密钥。为此,您需要在 Google Cloud Platform Console 中注册一个项目,创建一个 API 密钥,并使用应用的签名证书来限制此 API 密钥。
  4. 向应用的清单添加所需设置。

以下是有关整个过程各步骤的更多详情。

第 1 步:下载 Android Studio

按照指南下载安装 Android Studio。

第 2 步:安装 Google Play 服务 SDK

您需要为应用创建一个 Android 项目,以便完成此部分的步骤。如果您尚未创建 Android 应用,可以按照指南创建一个“hello world”应用。请参阅创建 Android 项目

Maps SDK for Android 作为 Google Play 服务 SDK 的一部分进行分发。您可以通过 Android SDK Manager 下载 Google Play 服务 SDK。

如需了解详细说明,请参阅 Google Play 服务文档。

获取 Google Maps API 密钥

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

如需了解详情,请参阅有关获取 API 密钥的指南。

向应用的清单添加所需设置。

修改您应用的 AndroidManifest.xml 文件并添加以下设置。

指定 Google Play 服务版本号

AndroidManifest.xml<application> 元素中添加以下声明。该操作会嵌入编译应用时所用 Google Play 服务的版本。

<meta-data
    android:name="com.google.android.gms.version"
    android:value="@integer/google_play_services_version" />

指定您的 API 密钥

务必按有关获取 API 密钥的指南中所述的方式将您的 API 密钥添加到 AndroidManifest.xml 文件。

指定 Android 权限

通过将 <uses-permission> 元素添加为 AndroidManifest.xml<manifest> 元素的子元素,指定应用所需的权限。

位置权限

如果您的应用通过启用“我的位置”图层来访问用户的当前位置,您必须按位置数据指南中所述的方式请求位置权限

外部存储权限

如果您定位到 8.3 版或更高版本的 Google Play 服务 SDK,则使用 Maps SDK for Android 时不再需要 WRITE_EXTERNAL_STORAGE 权限。

如果您定位到更低版本的 Google Play 服务 SDK,则必须请求 android.permission.WRITE_EXTERNAL_STORAGE 权限。

<uses-permission
        android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

注意:如果您的应用以需要使用运行时权限的 API 级别 23 (Android 6.0) 为目标平台,则应定位到 8.3 版或更高版本的 Google Play 服务 SDK。

自动合并到清单文件中的权限

以下权限在 Google Play 服务清单中定义,它们会在构建时自动合并到您应用的清单中。您需要将它们明确添加到清单中:

指定对 OpenGL ES 第 2 版的要求

Maps SDK for Android 使用 OpenGL ES 第 2 版来渲染地图。以下设置在 Google Play 服务清单中定义,并会在构建时自动合并到应用的清单中。您不需要将其明确添加到清单中:

<uses-feature
        android:glEsVersion="0x00020000"
        android:required="true"/>

此设置会将此要求告知外部服务。具体来说,它可防止 Google Play 商店在不支持 OpenGL ES 第 2 版的设备上显示您的应用。

指定对 Apache HTTP 旧版库的要求

如果您使用的是 com.google.android.gms:play-services-maps:16.0.0 或更低版本,并且您的应用以 API 级别 28 (Android 9.0) 或更高级别为目标平台,那么您必须在 AndroidManifest.xml<application> 元素中添加以下声明。

  <uses-library
      android:name="org.apache.http.legacy"
      android:required="false" />

如果您使用的是 com.google.android.gms:play-services-maps:16.1.0,系统会为您处理此操作;如果您的应用以较低的 API 级别为目标平台,则无需执行此操作。