MapKit セットアップ
このセクションでは、MapConductor と MapKit を統合するセットアップ手順について説明します。
外部依存関係や API キーなしに Apple のビルトインマップ SDK を使用したい場合や、Apple プラットフォームのみをターゲットにしている場合にこのプロバイダーを使用してください。
- iOS 開発環境(Xcode 15 以上)
- iOS デプロイターゲットが 15.0 以上に設定されていること
MapKit は iOS にバンドルされており、アカウント、API キー、SDK の初期化は必要ありません。
セットアップ手順
Section titled “セットアップ手順”1. Swift Package Manager の設定
Section titled “1. Swift Package Manager の設定”Xcode プロジェクトに MapConductorForMapKit を追加します:
- Xcode で File > Add Package Dependencies に移動します
- パッケージ URL を入力します:
https://github.com/MapConductor/ios-for-mapkit
2. 位置情報の権限を追加する(必要な場合)
Section titled “2. 位置情報の権限を追加する(必要な場合)”アプリが位置情報サービスを使用する場合、Info.plist に以下のキーを追加します:
<key>NSLocationWhenInUseUsageDescription</key><string>We need your location to display on the map</string>以下のコードでアプリをビルドして実行し、セットアップを確認します:
import SwiftUIimport MapConductorCoreimport 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() }}エラーなくマップが表示されれば、セットアップは正常に完了しています。基本的な操作(ズーム、パン)をテストして、すべてが正常に機能していることを確認してください。
トラブルシューティング
Section titled “トラブルシューティング”よくある問題
Section titled “よくある問題”マップが表示されない
- iOS デプロイターゲットが 15.0 以上に設定されていることを確認してください
MapConductorForMapKitがターゲットに正しくリンクされていることを確認してください
ビルドエラー
- ビルドフォルダーをクリアします(Cmd+Shift+K)
- 派生データを削除します:
~/Library/Developer/Xcode/DerivedData - プロジェクトを再ビルドします
位置情報サービス
Section titled “位置情報サービス”位置情報ベースの機能を有効にするには、Info.plist に位置情報の権限を追加し(手順 2 を参照)、アプリ内で許可リクエストを行います:
import CoreLocation
class LocationManager: NSObject, CLLocationManagerDelegate { let manager = CLLocationManager()
override init() { super.init() manager.delegate = self manager.requestWhenInUseAuthorization() }}マップスタイル
Section titled “マップスタイル”MapKitMapDesign の静的プリセットを使ってマップスタイルを設定します:
// 標準ストリートマップmapState.mapDesignType = MapKitMapDesign.Standard
// 衛星画像mapState.mapDesignType = MapKitMapDesign.Satellite
// 道路とラベル付きの衛星画像mapState.mapDesignType = MapKitMapDesign.Hybrid
// ミュートされた標準スタイルmapState.mapDesignType = MapKitMapDesign.MutedStandard次のステップ
Section titled “次のステップ”MapKit が正しく設定されたら、マップビューコンポーネントのドキュメント に記載されているように MapKitMapView を使用できます。
その他のサンプルについては、はじめる チュートリアルを参照してください。