既存のプロジェクトの構成

このページでは、Google Maps プロジェクト以外のプロジェクト タイプを使用している場合に、Maps SDK for Android を使用するために、既存の Android プロジェクトを設定する方法について説明します。Google マップ プロジェクト タイプを使用する新しいアプリを作成するには、スタートガイドをご覧ください。

概要

Android アプリケーションにマップを追加する全体的なプロセスは、次のとおりです。

  1. Android Studio をインストールします。
  2. Maps SDK for Android を含む Google Play 開発者サービス SDK をインストールして設定します。注: Google Maps Platform プレミアム プラン ライセンスで Maps SDK for Android を使用する場合は、代わりに Premium Plan SDK をダウンロードして設定する必要があります。
  3. API キーを取得します。キーを取得するには、Google Cloud Console でプロジェクトを登録して、API キーを作成し、アプリの署名証明書を使用して API キーを制限します。
  4. 必要な設定をアプリのマニフェストに追加します。
  5. マップの依存関係をアプリレベルの build.gradle ファイルに追加します。

次に、プロセスの各ステップの詳細を示します。

Android Studio をダウンロードする

ガイドに沿って Android Studio をダウンロードしてインストールします。

Google Play 開発者サービス SDK をインストールする

このセクションのステップを完了するには、ご使用のアプリ用の Android プロジェクトが必要です。まだ Android アプリを作成していない場合は、「hello world」アプリを作成するためのガイドを参考にしてください。詳しくは、Android プロジェクトを作成するをご覧ください。

Maps SDK for Android は、Google Play 開発者サービス SDK の一部として配布されています。Google Play 開発者サービス SDK は Android SDK Manager からダウンロードできます。

詳しい手順については、Google Play 開発者サービスのドキュメントをご覧ください。

Google Maps API キーを取得する

  1. プロジェクトの課金を有効にします。詳しくは、請求先アカウントを作成するをご覧ください。
  2. Cloud Console で、プロジェクトの Maps SDK for Android を有効にします。詳しくは、API を有効にするをご覧ください。
  3. 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 キーを取得するためのガイドに記載されている手順に沿って、AndroidManifest.xml ファイルに API キーを追加します。

Android パーミッションを指定する

アプリで必要なパーミッションを指定するには、<uses-permission> 要素を <manifest> 要素の子として AndroidManifest.xml に追加します。

位置情報の利用許可

アプリで現在地レイヤを有効にしてユーザーの現在地にアクセスする場合は、位置情報に関するガイドに記載されている手順に沿って、位置情報のパーミッションをリクエストする必要があります。

外部ストレージのパーミッション

Google Play 開発者サービス SDK のバージョン 8.3 以降を対象としている場合は、WRITE_EXTERNAL_STORAGE のパーミッションがなくても Maps SDK for Android を使用できるようになりました。

Google Play 開発者サービス SDK の以前のバージョンを対象としている場合は、android.permission.WRITE_EXTERNAL_STORAGE のパーミッションをリクエストする必要があります。

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

注: アプリが、ランタイム パーミッションの使用が必要な API レベル 23(Android 6.0)を対象としている場合は、Google Play 開発者サービス SDK のバージョン 8.3 以降を対象にする必要があります。

マニフェストに自動的に結合されるパーミッション

次のパーミッションは、Google Play 開発者サービスのマニフェストで定義され、ビルド時に自動的にアプリのマニフェストに結合されます。これらのパーミッションを明示的にマニフェストに追加する必要はありません

OpenGL ES バージョン 2 の要件を指定する

Maps SDK for Android では OpenGL ES バージョン 2 を使用して地図をレンダリングします。 次の設定は、Google Play 開発者サービスのマニフェストで定義され、ビルド時に自動的にアプリのマニフェストに統合されます。この設定を明示的にマニフェストに追加する必要はありません。

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

これにより、外部サービスに要件が通知されます。具体的には、OpenGL ES バージョン 2 に対応していないデバイスでは、Google Play ストアにアプリが表示されなくなります。

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 レベルを対象としている場合は不要です。

マップの依存関係を追加する

アプリレベルの build.gradle ファイルで、マップの依存関係を追加します。

dependencies {
    implementation 'com.google.android.gms:play-services-maps:17.0.0'
    // ...
}

次のステップ

プロジェクトの設定が完了したら、地図を追加できます。