ドキュメント / セットアップ / iOS / MapTiler
MapTiler セットアップ
MapTiler Cloud のスタイルを MapConductor から使う手順です。iOS 版は MapLibre Native をレンダラーとして使い、MapTiler の参照スタイルを名前で選べます。
PACKAGE
ios-for-maptiler
API KEY
必要
MIN iOS
15.1
VIEW
MapTilerMapView
前提
Xcode 15 以上
MapTiler Cloud のアカウントと API キー
デプロイターゲット iOS 15.1 以上
STEP 01
API キーを取得する
MapTiler Cloud のダッシュボードで API キーを発行します。無料枠があります。
STEP 02
Swift Package Manager で追加する
Xcode の File > Add Package Dependencies からパッケージ URL を入力します。レンダラーの MapLibre Native は依存関係として自動的に入ります。
Package URLSwift Package Manager
https://github.com/MapConductor/ios-for-maptiler
Package.swiftSwift
dependencies: [
.package(url: "https://github.com/MapConductor/ios-sdk-core", from: "1.1.4"),
.package(url: "https://github.com/MapConductor/ios-for-maptiler", from: "1.0.0"),
],
targets: [
.target(
name: "YourApp",
dependencies: [
.product(name: "MapConductorCore", package: "ios-sdk-core"),
.product(name: "MapConductorForMapTiler", package: "ios-for-maptiler"),
]
),
]STEP 03
API キーを渡す
ビューごとに渡すか、Info.plist に置きます。ビューの apiKey が nil のときに Info.plist が使われます。Android 版が AndroidManifest の MAPTILER_API_KEY を読むのと同じ考え方です。
ContentView.swiftSwift
// Per view MapTilerMapView(state: mapViewState, apiKey: "YOUR_MAPTILER_API_KEY")
Info.plistXML
<!-- Fallback, used when the view's apiKey is nil --> <key>MapTilerAPIKey</key> <string>YOUR_MAPTILER_API_KEY</string>
注意
キーをソースにベタ書きせず、xcconfig や環境変数からビルド時に注入してください。
動作確認
ここまで動けば完了
地図とマーカーが出れば完了です。
ContentView.swiftSwiftUI
import SwiftUI
import MapConductorCore
import MapConductorForMapTiler
struct ContentView: View {
@StateObject private var mapViewState = MapTilerViewState(
cameraPosition: MapCameraPosition(
position: GeoPoint(latitude: 35.6762, longitude: 139.6503),
zoom: 11
)
)
var body: some View {
MapTilerMapView(state: mapViewState) {
Marker(
position: GeoPoint(latitude: 35.6762, longitude: 139.6503),
icon: DefaultMarkerIcon(label: "Tokyo")
)
}
}
}地図デザイン
MapTilerDesign は MapTiler Cloud の参照スタイルに対応します。
MapTilerDesign
Notes
Streets / StreetsDark / StreetsLight
標準の道路地図と明暗のバリエーション
Basic / Bright
情報量を絞ったスタイル
Satellite
衛星画像
Outdoor / Winter / Topo
アウトドア・冬季・地形
Toner / Dataviz / Backdrop
データを載せる下地向け
Ocean / Landscape / Aquarelle / OpenStreetMap
その他のテーマ別スタイル
うまくいかないとき
地図が真っ白のまま
- ビューの apiKey か Info.plist の MapTilerAPIKey に値が入っているか確認します。
- MapTiler Cloud でキーが有効か、無料枠を超えていないか確認します。
ビルドが通らない
- ビルドフォルダーをクリアします(Cmd+Shift+K)。
- ~/Library/Developer/Xcode/DerivedData を削除して再ビルドします。
- Swift Package Manager の依存を更新します。CocoaPods との併用は避けてください。
次に
iOS 版は MapLibre Native で描画するため、マーカーやポリゴンなどのオーバーレイも共通 API でそのまま使えます。