ドキュメント / セットアップ / 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 分
前提
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 レイヤーとしてスタイルに追加されます。測地線の補間や穴の処理はコアの共通実装を使うので、他プロバイダと同じ形になります。