ドキュメント / セットアップ / iOS / Mappls
Mappls セットアップ
Mappls(MapmyIndia)の公式 iOS SDK を MapConductor から使う手順です。Swift Package Manager で入れ、認証はアプリに置く設定ファイルで行います。
MODULE
MapConductorForMappls
API KEY
必要
VIEW
MapplsMapView
TIME
15 分
前提
Xcode 15 以上
iOS 16.0 以上を対象とするアプリ
Mappls(MapmyIndia)のアカウントと資格情報
STEP 01
資格情報を取得する
Mappls の開発者コンソールでアプリを登録し、資格情報を取得します。iOS では .i.conf / .i.olf という設定ファイルで認証します。1 本の API キーを渡す方式ではありません。
STEP 02
パッケージを追加する
Mappls の配布リポジトリと MapConductor のモジュールを Swift Package Manager で追加します。
Package.swiftSwift
dependencies: [
.package(url: "https://github.com/mappls-api/mappls-map-ios-distribution.git", from: "6.1.5"),
.package(url: "https://github.com/MapConductor/ios-sdk-core", from: "1.3.1"),
.package(url: "https://github.com/MapConductor/ios-for-mappls", from: "1.0.0"),
]STEP 03
認証ファイルを配置する
Mappls から受け取った .i.conf / .i.olf をアプリのバンドルに含めます。MapConductor は地図を生成する前にこれを読み込みます。ファイルはソース管理に入れないでください。
動作確認
ここまで動けば完了
デリーを中心に地図を出します。タイルが読み込まれれば完了です。
import SwiftUI
import MapConductorCore
import MapConductorForMappls
struct TestMappls: View {
@StateObject private var state = MapplsViewState(
mapDesignType: MapplsDesign.Default,
cameraPosition: MapCameraPosition(
position: GeoPoint(latitude: 28.6139, longitude: 77.2090),
zoom: 11
)
)
var body: some View {
MapplsMapView(state: state)
}
}地図デザイン
Notes
Default
契約に関係なく使える既定のスタイル
StandardDay
標準の昼スタイル
StandardNight / GreyDay
追加料金の有料オプション。契約していないと SDK が弾く
うまくいかないとき
地図が真っ白で、タイルが 1 枚も来ない
- 資格情報が地図生成より前に設定されているか確認します。
- Mappls のコンソールでキーが有効か、利用枠を超えていないか確認します。
- 端末がネットワークに出られるか確認します。
スタイルを変えると style not found になる
- StandardNight と GreyDay は追加料金の有料オプションです。契約していない場合は Default か StandardDay を使ってください。
ラスターレイヤーなど、Mappls 以外の URL のタイルが出ない
- Mappls のネイティブ HTTP 層は、URL に mappls / mapmyindia を含まないリクエストを捨てるか切り落とします。MapConductor はこれを回避済みですが、SDK の HTTP モジュールを自前で差し替えている場合は回避も外れます。
次に
マーカー・ポリライン・ポリゴン・円・グラウンドイメージ・ラスターレイヤー・InfoBubble は共通 API のまま使えます。