Mapbox セットアップ
このセクションでは、Mapbox Maps SDK と MapConductor を統合するためのセットアップ手順について説明します。
- Android 開発環境
- Mapbox アカウント
- Mapbox アクセストークン
セットアップ手順
Section titled “セットアップ手順”1. Mapbox アカウントの設定
Section titled “1. Mapbox アカウントの設定”- Mapbox アカウントにサインアップします
- Mapbox Account Dashboard にアクセスします
- Access tokens に移動します
- 新しいアクセストークンを作成するか、デフォルトの公開トークンを使用します
- アプリで使用するためにアクセストークンをコピーします
2. Gradle の設定
Section titled “2. Gradle の設定”Mapbox Maven リポジトリが設定されていることを確認します(このリポジトリでは settings.gradle.kts に既に含まれています):
dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { google() mavenCentral()
// Mapbox Maven repository maven { url = uri("https://api.mapbox.com/downloads/v2/releases/maven") } }}dependencyResolutionManagement { repositoriesMode = RepositoriesMode.FAIL_ON_PROJECT_REPOS repositories { google() mavenCentral()
// Mapbox Maven repository maven { url "https://api.mapbox.com/downloads/v2/releases/maven" } }}プロジェクトのルート build.gradle.kts または build.gradle に Secrets Gradle Plugin を追加します:
plugins { id("com.google.android.libraries.mapsplatform.secrets-gradle-plugin") version "2.0.1" apply false}plugins { id 'com.google.android.libraries.mapsplatform.secrets-gradle-plugin' version '2.0.1' apply false}次に、アプリの build.gradle.kts または build.gradle に依存関係を追加し、プラグインを適用します:
plugins { // ... other plugins id("com.google.android.libraries.mapsplatform.secrets-gradle-plugin")}
dependencies { // Mapbox Maps SDK (NDK27 variant) implementation("com.mapbox.maps:android-ndk27:11.14.3")
// 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-mapbox")}plugins { // ... other plugins id 'com.google.android.libraries.mapsplatform.secrets-gradle-plugin'}
dependencies { // Mapbox Maps SDK (NDK27 variant) implementation "com.mapbox.maps:android-ndk27:11.14.3"
// 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-mapbox"}Secrets Gradle Plugin は自動的に secrets.properties ファイルを読み取り、ビルド時に値を AndroidManifest.xml に注入します。
3. Android Manifest の設定
Section titled “3. Android Manifest の設定”AndroidManifest.xml に Mapbox アクセストークンのプレースホルダーを追加します:
<application> <!-- Mapbox Access Token --> <meta-data android:name="MAPBOX_ACCESS_TOKEN" android:value="${MAPBOX_ACCESS_TOKEN}" />
<!-- Add internet and location permissions --> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /></application>4. アクセストークンの設定
Section titled “4. アクセストークンの設定”secrets.properties ファイルに実際のアクセストークンを追加します。
- Secrets Gradle Plugin は、このファイルの実際の値で
AndroidManifest.xmlの${MAPBOX_ACCESS_TOKEN}を自動的に置き換えます。 - CI/CD ビルドの場合は、環境変数または他の安全な方法を使用してこれらの値を提供できます。
MAPBOX_ACCESS_TOKEN=実際のアクセストークンMapbox のセットアップを確認するには:
- アプリをビルドして実行します
- マップが Mapbox スタイルで表示されることを確認します
- マップ操作(ズーム、パン、回転)をテストします
@Composablefun TestMapbox() { val state = rememberMapboxMapViewState( cameraPosition = MapCameraPositionImpl( position = GeoPointImpl.fromLatLong(0.0, 0.0), zoom = 3.0, ), )
MapboxMapView( modifier = modifier, state = state, ) { // もし地図が表示されれば、セットアップが正しくできています }}
トラブルシューティング
Section titled “トラブルシューティング”よくある問題
Section titled “よくある問題”マップが表示されない(空白の画面)
secrets.propertiesのアクセストークンが正しいことを確認してください- トークンの有効期限が切れていないことを確認してください
- タイルの読み込みのためのインターネット接続を確認してください
アクセストークンエラー
- トークンの値を再確認してください(通常は
pk.で始まります) - Mapbox アカウントダッシュボードでトークンのパーミッションを確認してください
- トークンスコープに必要なパーミッションが含まれていることを確認してください
ビルドエラー
- Mapbox SDK の座標がプロジェクト設定と一致していることを確認してください
- NDK27 バリアントが使用されていることを確認してください
secrets.propertiesファイルが存在し、トークンが含まれていることを確認してください
次のステップ
Section titled “次のステップ”Mapbox Maps SDK が適切に設定されたら、統一 API を使用して MapConductor の MapboxMapView コンポーネントを使用できます。