Doku / Einrichtung / iOS / Apple MapKit

Apple MapKit einrichten

Schritte zur Verwendung von Apple MapKit aus MapConductor. Keine externen Abhängigkeiten, API-Schlüssel oder SDK-Initialisierung erforderlich; als iOS-Provider ist es mit der geringsten Vorbereitung verbunden.

PACKAGE
ios-for-mapkit
API KEY
Nicht erforderlich
MIN iOS
15.1
VIEW
MapKitMapView
Derselbe Anbieter, andere PlattformenReact

Bevor Sie beginnen

Xcode 15 oder höher
Deployment-Ziel iOS 15.1 oder höher
STEP 01

Mit Swift Package Manager hinzufügen

MapKit ist in iOS enthalten, daher sind keine zusätzlichen Konten, Schlüssel oder Initialisierung erforderlich. Fügen Sie einfach das Paket hinzu.

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.3.1"),
    .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

Standortberechtigungen hinzufügen (falls erforderlich)

Wenn Sie Standortinformationen verwenden, schreiben Sie den Verwendungszweck in Info.plist und fordern Sie die Berechtigung in der App an.

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()
    }
}

PRÜFEN

Was Sie sehen sollten

Wenn die Karte angezeigt wird und Zoom- und Schwenkfunktionen funktionieren, sind Sie fertig.

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()
    }
}

Kartendesigns

MapKitMapDesign unterstützt MKMapType.

MapKitMapDesign
Notes
Standard
Standardstraßenkarte
Satellite
Satellitenbild
Hybrid
Satellitenbild + Straßen und Beschriftungen
MutedStandard
Heller Stil für Datenunterlage

Fehlerbehebung

Die Karte wird nicht angezeigt

  • Überprüfen Sie, ob das Deployment-Ziel iOS 15.1 oder höher ist.
  • Überprüfen Sie, ob MapConductorForMapKit mit dem Ziel verknüpft ist.

Build schlägt fehl

  • Löschen Sie den Build-Ordner (Cmd+Shift+K).
  • Löschen Sie ~/Library/Developer/Xcode/DerivedData und erstellen Sie neu.
  • Aktualisieren Sie die Swift Package Manager-Abhängigkeiten. Vermeiden Sie die gleichzeitige Verwendung mit CocoaPods.

Weiter

Wenn Sie nur Apple-Plattformen anvisieren, entfallen zusätzliche SDKs und Schlüssel, wodurch die Verteilungsgröße kleiner wird. Im Web kann auch der MapKit JS-Provider verwendet werden.