コンテンツにスキップ

Google Maps セットアップ

このセクションでは、Google Maps SDK と MapConductor を統合するためのセットアップ手順について説明します。

  • Android 開発環境
  • Google Cloud Console アカウント
  • Google Cloud プロジェクトで Maps SDK for Android が有効化されていること
  1. Google Cloud Console にアクセスします
  2. 新しいプロジェクトを作成するか、既存のものを選択します
  3. Maps SDK for Android API を有効にします
  4. 認証情報 に移動して API キーを作成します
  5. API キーをアプリのパッケージ名と SHA-1 証明書フィンガープリントに制限します

まず、プロジェクトのルート build.gradle.kts または build.gradle に Secrets Gradle Plugin を追加します:

// (root)/build.gradle.kts
plugins {
id("com.google.android.libraries.mapsplatform.secrets-gradle-plugin") version "2.0.1" apply false
}

次に、アプリの build.gradle.kts または build.gradle に依存関係を追加し、プラグインを適用します:

App/build.gradle.kts
plugins {
// ... other plugins
id("com.google.android.libraries.mapsplatform.secrets-gradle-plugin")
}
dependencies {
// Google Maps SDK (version managed via libs.versions.toml)
implementation("com.google.android.gms:play-services-maps:19.2.0")
// MapConductor BOM for version management (v1.1.2)
implementation(platform("com.mapconductor:mapconductor-bom:1.1.2"))
// MapConductor modules (versions managed by BOM)
implementation("com.mapconductor:core")
implementation("com.mapconductor:for-googlemaps")
}

Secrets Gradle Plugin は自動的に secrets.properties ファイルを読み取り、ビルド時に値を AndroidManifest.xml に注入します。

AndroidManifest.xml に Google Maps API キーのプレースホルダーを追加します:

AndroidManifest.xml
<application>
<!-- Google Maps API Key -->
<meta-data
android:name="com.google.android.geo.API_KEY"
android:value="${GOOGLE_MAPS_API_KEY}" />
<!-- Add location permissions -->
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
</application>
  • secrets.properties ファイルに実際の API キーを追加します(存在しない場合は作成します)。
  • Secrets Gradle Plugin は、このファイルの実際の値で AndroidManifest.xml${GOOGLE_MAPS_API_KEY} を自動的に置き換えます。
  • CI/CD ビルドの場合は、環境変数または他の安全な方法を使用してこれらの値を提供できます。
secrets.properties
GOOGLE_MAPS_API_KEY=実際のAPIキー

5. ProGuard / R8 の設定(該当する場合)

Section titled “5. ProGuard / R8 の設定(該当する場合)”

ProGuard/R8 を使用している場合は、proguard-rules.pro にこれらのルールを追加します:

proguard-rules.pro
# Google Play Services
-keep class com.google.android.gms.maps.** { *; }
-keep interface com.google.android.gms.maps.** { *; }
-dontwarn com.google.android.gms.**

Google Maps のセットアップを確認するには:

  1. アプリをビルドして実行します
  2. エラーなしでマップが表示されることを確認します
  3. 位置情報のパーミッションが機能していることを確認します
  4. 基本的なマップ操作(ズーム、パン)をテストします
@Composable
fun TestGoogleMaps() {
val mapState = rememberGoogleMapViewState(
cameraPosition =
MapCameraPositionImpl(
position = GeoPointImpl.fromLatLong(0.0, 0.0),
zoom = 3.0,
),
)
GoogleMapView(state = mapState) {
// もし地図が表示されれば、セットアップが正しくできています
}
}

TestGoogleMapsの実行結果

マップが表示されない(グレーの画面)

  • secrets.properties の API キーが正しいことを確認してください
  • Google Cloud Console で Maps SDK for Android が有効になっていることを確認してください
  • API キーの制限がアプリのパッケージ名と SHA-1 と一致していることを確認してください

ログに API キーエラーが表示される

  • API キーの値を再確認してください
  • キーの有効期限が切れていないことを確認してください
  • Google Cloud Console で API キーの制限を確認してください

ビルドエラー

  • Play Services Maps の依存関係がプロジェクト設定と一致していることを確認してください
  • secrets.properties ファイルが存在し、適切にフォーマットされていることを確認してください
  • secrets.properties がローカルビルドで誤って無視されていないことを確認してください

Google Maps SDK が適切に設定されたら、Map View コンポーネントのドキュメントに記載されているように MapConductor の GoogleMapView コンポーネントを使用できます。