ドキュメント / セットアップ / iOS / Apple MapKit
Apple MapKit セットアップ
Apple の MapKit を MapConductor から使う手順です。外部依存も API キーも SDK の初期化も不要で、iOS のプロバイダとしては最も準備が少なくて済みます。
PACKAGE
ios-for-mapkit
API KEY
不要
MIN iOS
15.1
VIEW
MapKitMapView
ほかのプラットフォームReact
前提
Xcode 15 以上
デプロイターゲット iOS 15.1 以上
STEP 01
Swift Package Manager で追加する
MapKit は iOS に同梱されているため、追加のアカウントやキー、初期化は必要ありません。パッケージを追加するだけです。
Package URLSwift Package Manager
https://github.com/MapConductor/ios-for-mapkit
Package.swiftSwift
dependencies: [
.package(url: "https://github.com/MapConductor/ios-sdk-core", from: "1.1.4"),
.package(url: "https://github.com/MapConductor/ios-for-mapkit", from: "1.0.0"),
],
targets: [
.target(
name: "YourApp",
dependencies: [
.product(name: "MapConductorCore", package: "ios-sdk-core"),
.product(name: "MapConductorForMapKit", package: "ios-for-mapkit"),
]
),
]STEP 02
位置情報の権限を足す(必要な場合)
位置情報を使う場合は Info.plist に用途を書き、アプリ側で許可を求めます。
Info.plistXML
<key>NSLocationWhenInUseUsageDescription</key> <string>We need your location to display on the map</string>
LocationManager.swiftSwift
import CoreLocation
final class LocationManager: NSObject, ObservableObject, CLLocationManagerDelegate {
private let manager = CLLocationManager()
override init() {
super.init()
manager.delegate = self
}
func requestPermission() {
manager.requestWhenInUseAuthorization()
}
}動作確認
ここまで動けば完了
地図が出てズームとパンが効けば完了です。
ContentView.swiftSwiftUI
import SwiftUI
import MapConductorCore
import MapConductorForMapKit
struct ContentView: View {
@StateObject var mapState = MapKitViewState(
mapDesignType: MapKitMapDesign.Standard,
cameraPosition: MapCameraPosition(
position: GeoPoint(latitude: 35.6812, longitude: 139.7671),
zoom: 12.0
)
)
var body: some View {
MapKitMapView(state: mapState)
.ignoresSafeArea()
}
}地図デザイン
MapKitMapDesign は MKMapType に対応します。
MapKitMapDesign
Notes
Standard
標準の道路地図
Satellite
衛星画像
Hybrid
衛星画像+道路とラベル
MutedStandard
データを載せる下地向けの淡いスタイル
うまくいかないとき
地図が出ない
- デプロイターゲットが iOS 15.1 以上か確認します。
- MapConductorForMapKit がターゲットにリンクされているか確認します。
ビルドが通らない
- ビルドフォルダーをクリアします(Cmd+Shift+K)。
- ~/Library/Developer/Xcode/DerivedData を削除して再ビルドします。
- Swift Package Manager の依存を更新します。CocoaPods との併用は避けてください。
次に
Apple プラットフォームだけを対象にするなら、追加の SDK もキーも不要なぶん配布サイズも小さくなります。Web でも MapKit JS 版のプロバイダが使えます。