設定

このページでは、Maps 3D SDK for Android を使用して開発を始めるために必要な設定について説明します。設定プロセスでは、SDK で使用する Google Cloud プロジェクトと API を構成してから、Android Studio プロジェクトを設定します。アプリに最初の 3D 地図を追加する前に、次の手順を完了してください。

前提条件

Maps 3D SDK for Android を使用するには、プロジェクトと対象デバイスが次の要件を満たしている必要があります。

  • 最小 API レベル: Android API レベル 24(Android 7.0)以降。アプリは 24 以上の minSdk をターゲットにする必要があります。
  • Google Play 開発者サービス: Maps 3D SDK for Android は Google Play 開発者サービスに依存しています。対象デバイス(および Google API を搭載したエミュレータ)には、Google Play 開発者サービスがインストールされている必要があります。

Google Cloud プロジェクトと API キーを設定する

Maps 3D SDK for Android を使用して開発を始める前に、次の手順に沿って、Maps 3D SDK for Android で使用する Google Cloud プロジェクトと API キーを設定する必要があります。

ステップ 1: プロジェクトを設定する

Console

  1. Google Cloud コンソールの [プロジェクトの選択] ページで [新しいプロジェクト] をクリックし、新しい Cloud プロジェクトの作成を開始します。

    [プロジェクトの選択] ページに移動

  2. Cloud プロジェクトで お支払いが有効になっていることを確認します。

    Google Cloud では、無料トライアルを提供しています。トライアルは、90 日が経過するか、アカウントの費用が 300 ドルに達した時点のいずれか早い方の時点で終了します。解約はいつでも可能です。詳しくは、請求先アカウントのクレジットおよび Google Maps Platform の料金をご覧ください。

Cloud SDK

gcloud projects create "PROJECT"

詳しくは、Google Cloud SDK、Cloud SDK のインストール、および以下のコマンドをご覧ください。

ステップ 2: API または SDK を有効にする

Google Maps Platform を使用するには、プロジェクトで使用する API または SDK を有効にする必要があります。

一部の統合では、複数の API または SDK を有効にする必要があります。有効にする API や SDK がわからない場合は、Capabilities Explorer を使用するか、該当する API/SDK のドキュメントをご覧ください。

1 つ以上の API または SDK を有効にするには:

Console

  1. Cloud コンソールの Maps API ライブラリ ページにアクセスし、有効にできる Google Maps Platform の API と SDK をご確認ください。

    Maps API ライブラリ ページに移動

  2. 有効にする API または SDK をクリックします。
    • [有効にする] ボタンが表示された場合は、このボタンをクリックして、選択した API または SDK を有効にします。
    • [管理] ボタンが表示された場合、その API または SDK はすでに有効になっています。何もする必要がありません。
    • いずれかのボタンをクリックすると、選択した API または SDK のダッシュボードが表示されます(このプロジェクトから API または SDK を削除するには、[無効にする] ボタンをクリックします)。

Cloud SDK

次のコマンドを実行すると、Maps、Routes、Places のすべての API が有効になります。

gcloud services enable \
    --project "PROJECT" \
    "addressvalidation.googleapis.com" \
    "areainsights.googleapis.com" \
    "tile.googleapis.com" \
    "aerialview.googleapis.com" \
    "elevation-backend.googleapis.com" \
    "routes.googleapis.com" \
    "geocoding-backend.googleapis.com" \
    "geolocation.googleapis.com" \
    "maps-android-backend.googleapis.com" \
    "maps-backend.googleapis.com" \
    "maps-embed-backend.googleapis.com" \
    "maps-ios-backend.googleapis.com" \
    "mapsplatformdatasets.googleapis.com" \
    "places-backend.googleapis.com" \
    "roads.googleapis.com" \
    "routeoptimization.googleapis.com" \
    "static-maps-backend.googleapis.com" \
    "street-view-image-backend.googleapis.com" \
    "timezone-backend.googleapis.com"

詳しくは、Google Cloud SDK、Cloud SDK のインストール、および以下のコマンドをご覧ください。

次のコマンドを使用して、Environment API を有効にします。

gcloud services enable \
    --project "PROJECT" \
    "airquality.googleapis.com" \
    "solar.googleapis.com" \
    "pollen.googleapis.com" \
    "weather.googleapis.com"

ステップ 3: API キーを取得する

このステップでは API キーを作成します。本番環境で API キーを使用する場合は、キーの使用を制限することを強くおすすめします。詳しくは、各サービスの API キーの使用ページをご覧ください。

API キーは、使用量と課金のためにプロジェクトに関連付けられたリクエストを認証する固有識別子です。少なくとも 1 つの API キーをプロジェクトに関連付ける必要があります。 新しいキーを作成する場合、または既存のキーに API や SDK を追加する場合は、次の手順に沿って操作します。

Console

  1. [Google Maps Platform] > [キーと認証情報] ページに移動します。

    [キーと認証情報] ページに移動

  2. プロンプトが表示されたら、プロジェクトを選択します。
  3. 次のいずれかを行います。

    • 新しい鍵を作成する:

      1. [認証情報を作成] > [API キー] をクリックします。
      2. [API キーの作成] パネルで、[API の制限の選択] リストを開きます。
      3. このキーに不要な API をすべてクリアし、使用する予定の API が選択されたままであることを確認します。
      4. [作成] をクリックします。パネルに新しい API キーが表示されます。
    • 既存の鍵を使用する:

      1. 鍵の名前をクリックします。
      2. [API の制限を選択] リストで、使用する API を選択します。
      3. [保存] をクリックします。

    ここで API を選択しても、API は有効になりません。選択した各 API が API ライブラリで有効になっていることを確認します。

  4. 後で鍵文字列を表示するには、[鍵と認証情報] ページに移動し、鍵の [鍵を表示] をクリックします。

コンソールの表示がこれらの手順と異なる場合は、Google Cloud ドキュメントの API キーを作成すると API 制限を追加するをご覧ください。

Cloud SDK

次のコマンドで、PROJECT_ID をプロジェクト ID に置き換えます。

  • 新しい鍵を作成する: 次のコマンドを実行します。DISPLAY_NAME は鍵の名前に置き換えます。SERVICE_NAME は、使用する予定の API のサービス名(places.googleapis.com など)に置き換えます。さらに API を許可するには、--api-target フラグを繰り返します。

    gcloud services api-keys create \
        --project="PROJECT_ID" \
        --display-name="DISPLAY_NAME" \
        --api-target=service=SERVICE_NAME

    詳しくは、Google Cloud SDK、Cloud SDK のインストール、および以下のコマンドをご覧ください。

  • 既存の鍵を使用する: 次のコマンドを実行します。KEY_ID は鍵の ID に置き換えます。SERVICE_NAME は、追加する API のサービス名に置き換えます。--append フラグは、キーですでに許可されている API を保持します。このフラグを指定しない場合、コマンドはそれらを置き換えます。

    gcloud services api-keys update KEY_ID \
        --project="PROJECT_ID" \
        --append \
        --api-target=service=SERVICE_NAME

    詳しくは、Google Cloud SDK、Cloud SDK のインストール、および以下のコマンドをご覧ください。

    鍵 ID は、鍵文字列や表示名ではありません。これを確認するには、gcloud services api-keys list --project="PROJECT_ID" を実行します。ID は name フィールドの最後の部分(projects/PROJECT_NUMBER/locations/global/keys/KEY_ID)です。

鍵文字列を表示するには、gcloud services api-keys get-key-string KEY_ID --project="PROJECT_ID" を実行します。

SDK を有効にするには、Google Cloud コンソールの Maps 3D SDK for Android ページをご覧ください。これらの手順を完了する方法については、Google Maps Platform スタートガイドをご覧ください。

Android Studio プロジェクトをセットアップする

このセクションでは、Maps 3D SDK for Android で使用する Android Studio プロジェクトを作成して構成する方法について説明します。

パート 1: プロジェクトと Gradle 構成をセットアップする

  1. Empty Views Activity テンプレートを使用して、新しい Android Studio プロジェクトを作成します。プロジェクト構成で、[Minimum SDK] を [API 24] 以上に設定します。

  2. ソース管理に Git を使用している場合は、プロジェクトの .gitignore ファイルを変更して、シークレット ファイルがバージョン管理に commit されないようにします。

    • プロジェクトのルート ディレクトリで、.gitignore ファイルを開きます。
    • 次の行を追加します。
    secrets.properties
    
  3. プロジェクト レベルの build.gradle.kts ファイルを更新します。

    • プロジェクトのルート ディレクトリで、build.gradle.kts ファイルを開きます。
    • plugins ブロックに Secrets Gradle プラグインを追加します。
    plugins {
      alias(libs.plugins.android.application) apply false
      alias(libs.plugins.kotlin.android) apply false
      alias(libs.plugins.secrets.gradle.plugin) apply false // Add this line
    }
    
  4. 次のように gradle/libs.versions.toml ファイルを更新します。

    • gradle/libs.versions.toml ファイルを開きます。このファイルは通常、プロジェクトのルート ディレクトリ内の gradle ディレクトリにあります。
    • [versions] セクションで、SDK と Secrets Gradle プラグインのバージョンを追加します。
    # See https://developers.google.com/android/guides/setup?device=phone-tablet for available releases
    maps3dSdk = "16.0.1"
    # See https://github.com/google/secrets-gradle-plugin/releases for available releases
    secretsGradlePlugin = "2.0.1"
    
    • [library] セクションに SDK ライブラリを追加します。
    play-services-maps3d = { module = "com.google.android.gms:play-services-maps3d", version.ref = "maps3dSdk" }
    
    • [plugins] セクションに、Secrets Gradle プラグインを追加します。
    secrets-gradle-plugin = { id = "com.google.android.libraries.mapsplatform.secrets-gradle-plugin", version.ref = "secretsGradlePlugin" }
    
  5. モジュール レベルの app/build.gradle.kts ファイルを更新します。

    • モジュール レベルの build.gradle.kts ファイルを開きます。通常、このファイルは app ディレクトリにあります。
    • ファイルの先頭で、Secrets Gradle プラグインを plugins ブロックに追加します。
    plugins {
        alias(libs.plugins.android.application)
        alias(libs.plugins.kotlin.android)
        alias(libs.plugins.secrets.gradle.plugin) // Add this line
    }
    
    • dependencies ブロックに、Maps 3D SDK for Android の Google Play 開発者サービス依存関係を追加します。
    dependencies {
        // ... other dependencies
        implementation(libs.play.services.maps3d) // Add this line
    }
    
    • ファイルの末尾(android ブロックと dependencies ブロックの外側)に、シークレット構成を追加します。
    secrets {
        // Optionally specify a different filename containing your secrets.
        // The plugin defaults to "local.properties"
        propertiesFileName = "secrets.properties"
    
        // A properties file containing default secret values. This file can be
        // checked in version control.
        defaultPropertiesFileName = "local.defaults.properties"
    }
    

パート 2: API キーをプロジェクトに追加する

  1. secrets.properties ファイルを作成します。

    • アプリ モジュールのルート ディレクトリ(通常は app ディレクトリ)に、secrets.properties という名前の新しいファイルを作成します。
    • API キーをファイルに追加します。
    MAPS3D_API_KEY=YOUR_API_KEY_HERE
    
  2. local.defaults.properties ファイルを作成します。 - アプリ モジュールのルート ディレクトリに、local.defaults.properties という名前の新しいファイルを作成します。 - デフォルトまたはプレースホルダの API キーをファイルに追加します。このファイルはバージョン管理にチェックインできます。

    MAPS3D_API_KEY=DEFAULT_API_KEY_OR_PLACEHOLDER
    

パート 3: AndroidManifest.xml ファイルを更新する

  1. app/src/main/AndroidManifest.xml ファイルを開きます。

  2. <application> タグ内の <activity> タグの前に、次の <meta-data> 要素を追加して API キーを宣言します。

    <application
        ...>
    
        <meta-data
            android:name="com.google.android.geo.maps3d.API_KEY"
            android:value="${MAPS3D_API_KEY}" />
    
        <activity
            ...>
        </activity>
    </application>
    

    ビルドプロセス中に、Secrets Gradle プラグインによって ${MAPS3D_API_KEY} プレースホルダが secrets.properties ファイルのキーに置き換えられます。

プログラムによるビューの初期化(省略可)

XML レイアウトではなくプログラムでマップビューを初期化する場合は、Map3DInitConfig を使用します。

import com.google.android.gms.maps3d.Map3DInitConfig
import com.google.android.gms.maps3d.Map3DView
import com.google.android.gms.maps3d.model.Map3DMode

// Set configuration options using the factory method
val config = Map3DInitConfig.create(
    mapMode = Map3DMode.HYBRID,
    centerLat = 38.544012,
    centerLng = -107.670428
)

val map3DView = Map3DView(context, config)

次のステップ

Google Cloud プロジェクト、API キー、Android Studio プロジェクトをセットアップして Maps 3D SDK for Android を使用できるようになったので、アプリに 3D マップを追加できます。