ドキュメント / セットアップ / Android / MapTiler

MapTiler セットアップ

MapTiler の公式 Android SDK(com.maptiler:maptiler-sdk-kotlin)を MapConductor から使う手順です。MapTiler Cloud の参照スタイルを名前で選べます。

MODULE
com.mapconductor:for-maptiler
API KEY
必要
VIEW
MapTilerMapView
TIME
10 分
ほかのプラットフォームiOSReact

前提

Android 開発環境(Android Studio)
MapTiler Cloud のアカウントと API キー
STEP 01

API キーを取得する

MapTiler Cloud のダッシュボードで API キーを発行します。無料枠があります。

STEP 02

依存関係を追加する

MapTiler SDK は Maven Central から取得できます。

app/build.gradle.ktsKotlin
dependencies {
    // MapTiler Android SDK
    implementation("com.maptiler:maptiler-sdk-kotlin:2.1.0")

    // MapConductor BOM pins every module below
    implementation(platform("com.mapconductor:mapconductor-bom:1.2.0"))

    implementation("com.mapconductor:core")
    implementation("com.mapconductor:for-maptiler")
}
STEP 03

API キーを渡す

モジュールはマニフェストの meta-data からキーを読みます。Secrets Gradle Plugin を使う場合はプレースホルダー経由にします。コードから直接設定することもできます。

AndroidManifest.xmlXML
<manifest>
    <uses-permission android:name="android.permission.INTERNET" />

    <application>
        <meta-data
            android:name="MAPTILER_API_KEY"
            android:value="${MAPTILER_API_KEY}" />
    </application>
</manifest>
MainActivity.ktKotlin
// Alternative: set it in code before the first map is shown
com.maptiler.maptilersdk.MTConfig.apiKey = "YOUR_MAPTILER_API_KEY"
注意
secrets.properties はバージョン管理にコミットしないでください。.gitignore に追加しておくと事故を防げます。CI では環境変数など別の安全な経路で渡します。

動作確認

ここまで動けば完了

スタイルを選んで地図を出します。タイルが読み込まれれば完了です。

TestMapTiler.ktJetpack Compose
@Composable
fun TestMapTiler(modifier: Modifier = Modifier) {
    val mapState = rememberMapTilerMapViewState(
        mapDesign = MapTilerDesign.Streets,
        cameraPosition = MapCameraPosition(
            position = GeoPoint(35.6812, 139.7671),
            zoom = 11.0,
        ),
    )

    // If the map appears, the setup is correct.
    MapTilerMapView(state = mapState, modifier = modifier)
}

地図デザイン

MapTilerDesign は MapTiler Cloud の参照スタイルをそのまま並べたものです。

MapTilerDesign
Notes
Streets / StreetsDark / StreetsLight
標準の道路地図と明暗のバリエーション
Basic / Bright
情報量を絞ったスタイル
Satellite
衛星画像
Outdoor / Winter / Topo
アウトドア・冬季・地形
Toner / Dataviz / Backdrop
データを載せる下地向け
Ocean / Landscape / Aquarelle / OpenStreetMap
その他のテーマ別スタイル

うまくいかないとき

地図が真っ白のまま

  • マニフェストの MAPTILER_API_KEY に実際の値が入っているか確認します。
  • MapTiler Cloud 側でキーが有効か、無料枠を超えていないか確認します。
  • INTERNET パーミッションが付いているか確認します。

ビルドが通らない

  • 地図 SDK の座標とバージョンがバージョンカタログの指定と一致しているか確認します。
  • リポジトリ定義が settings.gradle.kts にあるか確認します(repositoriesMode が FAIL_ON_PROJECT_REPOS だと、モジュール側の repositories は無視されます)。
  • 複数の地図 SDK を同時に入れている場合は、依存の衝突がないか ./gradlew :app:dependencies で確認します。

次に

マーカー・ポリライン・ポリゴン・円・グラウンドイメージ・ラスターレイヤー・InfoBubble はすべて共通 API で使えます。MapTiler の Android SDK は MapLibre GL JS を WebView で動かす構成のため、図形は GeoJSON ソースと fill / line レイヤーとしてスタイルに追加されます。測地線の補間や穴の処理はコアの共通実装を使うので、他プロバイダと同じ形になります。