專案設定

本網頁內容為入門指南的後續補充,將進一步說明您在 Android 應用程式中,使用 Maps SDK for Android 開發專案需要的所有設定。

總覽

在 Android 應用程式中加入地圖的整體流程如下:

  1. 安裝 Android Studio
  2. 安裝並設定 Google Play 服務 SDK,其中包含 Maps SDK for Android。注意:如果您使用具備 Google 地圖平台付費方案授權的 Maps SDK for Android,則必須改為下載並設定付費方案 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 權限

AndroidManifest.xml 中將 <uses-permission> 元素新增為 <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 服務資訊清單中定義了下列權限,系統會在建構期間自動將其合併至您的應用程式資訊清單,因此您不需要明確地將這類權限加入資訊清單:

指定第 2 版 OpenGL ES 的需求條件

Maps SDK for Android 使用第 2 版 OpenGL ES 來轉譯地圖。 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 級別較低,也不需要進行這項操作。