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.
Bevor Sie beginnen
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.
https://github.com/MapConductor/ios-for-mapkit
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"),
]
),
]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.
<key>NSLocationWhenInUseUsageDescription</key> <string>We need your location to display on the map</string>
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.
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.
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.