本頁說明如何在不採用快速入門導覽課程中詳述的 Google 地圖範本的情況下,將 Android Studio 專案設為使用 Maps SDK for Android。
Google 地圖範本會自動設定基本地圖,並將其加進新的 Android Studio 專案,但您也可以將地圖新增至使用其他 Android Studio 範本的 Android 專案。如要這麼做,您需要手動設定專案,然後新增地圖。
步驟 1:設定 Android Studio
- 必須使用 Android Studio Arctic Fox 或更新版本。如果您尚未下載並安裝,請先完成此步驟。
- 確認您在 Android Studio 中使用的是 Android Gradle 外掛程式 7.0 以上版本。
步驟 2:設定 SDK
您可透過 Google 的 Maven 存放區存取 Maps SDK for Android 程式庫。如要將 SDK 加入應用程式,請按照下列步驟操作:
- 在頂層
settings.gradle
檔案的pluginManagement
區塊下方,加入 Gradle 外掛程式入口網站、Google Maven 存放區,以及 Maven 中央存放區。pluginManagement
區塊必須放在指令碼中的任何其他陳述式之前。pluginManagement { repositories { gradlePluginPortal() google() mavenCentral() } }
- 在頂層
settings.gradle
檔案的dependencyResolutionManagement
區塊下方,加入 Google Maven 存放區和 Maven 中央存放區:dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { google() mavenCentral() } }
- 在模組層級
build.gradle
檔案中,加入 Maps SDK for Android 的 Google Play 服務依附元件。dependencies { implementation 'com.google.android.gms:play-services-maps:18.1.0' // ... }
- 在模組層級
build.gradle
檔案中,將compileSdk
和minSdk
設為下列值:android { compileSdk 31 defaultConfig { minSdk 19 // ... }
步驟 3:將 API 金鑰加進專案
本節將說明如何儲存 API 金鑰,讓應用程式以安全的方式參照金鑰。API 金鑰不應該登錄在版本管控系統中;我們建議將金鑰儲存在位於專案根目錄的 local.properties
檔案內。如要進一步瞭解 local.properties
檔案,請參閱這篇文章中關於 Gradle 屬性檔案的說明。
建議您使用 Secrets Gradle Plugin for Android 來簡化這項工作。如要安裝這個外掛程式並儲存 API 金鑰,請按照下列步驟操作:
- 在 Android Studio 中開啟專案層級的
build.gradle
檔案,然後將下列程式碼加進buildscript
下方的dependencies
元素。plugins { // ... id 'com.google.android.libraries.mapsplatform.secrets-gradle-plugin' version '2.0.1' apply false }
- 接著,開啟模組層級的
build.gradle
檔案,然後將下列程式碼加進plugins
元素。id 'com.google.android.libraries.mapsplatform.secrets-gradle-plugin'
- 儲存檔案,然後使用 Gradle 同步處理專案。
- 在專案層級目錄中開啟
local.properties
,接著新增下列程式碼,然後將YOUR_API_KEY
替換成您的 API 金鑰。MAPS_API_KEY=YOUR_API_KEY
- 儲存檔案。
- 在您的
AndroidManifest.xml
檔案中,前往com.google.android.geo.API_KEY
並按照以下方式更新android:value attribute
:<meta-data android:name="com.google.android.geo.API_KEY" android:value="${MAPS_API_KEY}" />
注意事項:如上所示,API 金鑰的建議中繼資料名稱為 com.google.android.geo.API_KEY
。具備這個名稱的金鑰可用來驗證 Android 平台上的多個 Google 地圖相關 API,包括 Maps SDK for Android。為了兼顧回溯相容性,API 也支援 com.google.android.maps.v2.API_KEY
這個名稱。此舊版名稱僅允許對 Android Maps API 第 2 版進行驗證。應用程式只能指定這兩種 API 金鑰中繼資料名稱的其中一個;如果同時指定兩者,API 會擲回例外狀況。
步驟 4:更新應用程式資訊清單
本節說明需要新增至 AndroidManifest.xml
檔案的設定。
Google Play 服務版本號碼
在 application
元素中加入以下宣告。這會嵌入用來編譯應用程式的 Google Play 服務版本。
<meta-data
android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" />
位置存取權
如果您的應用程式需要存取使用者的位置資訊,就必須在 AndroidManifest.xml
檔案中要求位置存取權;可用的選擇包括 ACCESS_FINE_LOCATION
(提供精確的裝置位置) 和 ACCESS_COARSE_LOCATION
(較不精確)。詳情請參閱位置資料指南。
如要要求 ACCESS_FINE_LOCATION
權限,請將這段程式碼加進 manifest
元素:
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
外部儲存空間權限
如果您指定的是 8.3 以上版本的 Google Play 服務 SDK,就不需要 WRITE_EXTERNAL_STORAGE
權限。如果您指定的是舊版 Google Play 服務 SDK,則必須在 manifest
元素中要求 WRITE_EXTERNAL_STORAGE 權限。
<uses-permission
android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
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" />
步驟 5:設定 Android 裝置
如要執行使用 Maps SDK for Android 的應用程式,請務必在採用 Android 4.0 以上版本且包含 Google API 的 Android 裝置或 Android Emulator 中,部署該應用程式。
- 如要使用 Android 裝置,請按照在硬體裝置上執行應用程式一文的說明操作。
- 如要使用 Android Emulator,您可以使用 Android Studio 隨附的 Android 虛擬裝置管理程式 (AVD Manager) 建立虛擬裝置並安裝模擬器。
後續步驟
專案設定完成後,您就可以新增地圖。