TomTom einrichten
Anleitung zur Verwendung von TomTom Orbis Maps mit MapConductor. Es bietet die gleichen Funktionen wie die Android-Version und unterstützt Marker, Polyline, Polygon, Circle, GroundImage, RasterLayer und InfoBubble.
Bevor Sie beginnen
API-Schlüssel abrufen
Sie geben einen API-Schlüssel für Orbis Maps im TomTom Developer Portal aus.
Quelle für das TomTom SDK hinzufügen
Das TomTom Orbis Maps Display SDK wird als binäres xcframework aus dem Artifactory von TomTom verteilt. Da das Paket von MapConductor dies als Binärziel referenziert, fügen Sie die Quelle von TomTom der Podfile Ihrer App hinzu.
source 'https://api.tomtom.com/maps-sdk-ios/cocoapods'
Mit Swift Package Manager hinzufügen
Geben Sie die Paket-URL über File > Add Package Dependencies in Xcode ein.
https://github.com/MapConductor/ios-for-tomtom
dependencies: [
.package(url: "https://github.com/MapConductor/ios-sdk-core", from: "1.3.1"),
.package(url: "https://github.com/MapConductor/ios-for-tomtom", from: "1.0.0"),
],
targets: [
.target(
name: "YourApp",
dependencies: [
.product(name: "MapConductorCore", package: "ios-sdk-core"),
.product(name: "MapConductorForTomTom", package: "ios-for-tomtom"),
]
),
]API-Schlüssel übergeben
Sie werden pro Ansicht übergeben oder in Info.plist platziert.
// Per view TomTomMapView(state: state, apiKey: "YOUR_TOMTOM_API_KEY")
<key>TomTomAPIKey</key> <string>YOUR_TOMTOM_API_KEY</string>
PRÜFEN
Was Sie sehen sollten
Wenn die Karte und die Marker angezeigt werden, sind Sie fertig. Verschiebbare Marker können direkt gezogen werden.
import SwiftUI
import MapConductorCore
import MapConductorForTomTom
struct ContentView: View {
@StateObject var state = TomTomMapViewState(
mapDesignType: TomTomMapDesign.Standard,
cameraPosition: MapCameraPosition(
position: GeoPoint(latitude: 52.3676, longitude: 4.9041),
zoom: 11
)
)
var body: some View {
TomTomMapView(state: state) {
Marker(state: MarkerState(
position: GeoPoint(latitude: 52.3676, longitude: 4.9041),
icon: DefaultMarkerIcon(label: "Amsterdam"),
draggable: true
))
}
}
}Kartendesigns
TomTomMapDesign unterstützt den Standardstil für Orbis Maps.
Fehlerbehebung
Die Karte bleibt komplett weiß
- Überprüfen Sie, ob apiKey der Ansicht oder TomTomAPIKey in Info.plist einen Wert enthält.
- Überprüfen Sie, ob das Bereitstellungsziel iOS 16.0 oder höher ist.
xcframework nicht gefunden
- Das SDK von TomTom ist eine Binärdistribution. Überprüfen Sie, ob Sie die Quelle von TomTom zur Podfile hinzugefügt haben.
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 Abhängigkeiten von Swift Package Manager. Vermeiden Sie die gleichzeitige Verwendung mit CocoaPods.
Weiter
Da TomTom kein natives Ziehen für Marker hat, implementiert MapConductor das Ziehen durch direkte Verarbeitung der Gesten von MapView. Zoom wird unter Berücksichtigung der Kamerabreite äquivalent zu Google umgerechnet.