このページでは、Maps SDK for Android を使用するよう Android Studio プロジェクトを設定する方法について説明します。この手順では、Google マップ テンプレートは利用しません(Google マップ テンプレートを利用する場合は、クイックスタートをご覧ください)。
Google マップ テンプレートは、新しい Android Studio プロジェクトを自動的に設定して、基本の地図を追加します。他の Android Studio テンプレートを使用する Android プロジェクトに地図を追加する場合は、プロジェクトを手動で設定してから、地図を追加する必要があります。
ステップ 1: Android Studio をセットアップする
- Arctic Fox 以降の Android Studio が必要です。お持ちでない場合は、ダウンロードしてインストールしてください。
- Android Studio で Android Gradle プラグイン バージョン 7.0 以降を使用していることを確認してください。
ステップ 2: SDK をセットアップする
Maps SDK for Android ライブラリは、Google の Maven リポジトリを通して利用できます。アプリに 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 プロパティ ファイルをご覧ください。
このタスクを効率化するには、Android 用 Secrets Gradle プラグインを使用することをおすすめします。プラグインをインストールして 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}" />
注: 上記のように、com.google.android.geo.API_KEY
は、API キーとして推奨されるメタデータ名です。この名前のキーは、Android プラットフォームで Google マップベースの複数の API(Maps SDK for Android など)の認証に使用できます。下位互換性を確保するため、API では com.google.android.maps.v2.API_KEY
という名前もサポートされています。この従来の名前は、Android Maps API v2 の認証にのみ使用できます。アプリでは、API キーのメタデータ名を 1 つのみ指定できます。両方を指定すると、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
の 2 つのタイプがあります。詳しくは、位置情報のガイドをご覧ください。
ACCESS_FINE_LOCATION
の利用許可をリクエストするには、次のコードを manifest
要素に追加します。
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
外部ストレージの利用許可
Google Play 開発者サービス SDK のバージョン 8.3 以降を対象としている場合、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 Virtual Device(AVD)Manager を使用して仮想デバイスを作成し、エミュレータをインストールしてください。
次のステップ
プロジェクトの設定が完了したら、地図を追加できます。