Doku / Einrichtung / iOS / TomTom

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.

PACKAGE
ios-for-tomtom
API KEY
Erforderlich
MIN iOS
16.0
VIEW
TomTomMapView
Derselbe Anbieter, andere PlattformenAndroidReact

Bevor Sie beginnen

Xcode 15 oder höher
API-Schlüssel für Orbis Maps aus dem TomTom Developer Portal
Bereitstellungsziel iOS 16.0 oder höher
STEP 01

API-Schlüssel abrufen

Sie geben einen API-Schlüssel für Orbis Maps im TomTom Developer Portal aus.

STEP 02

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.

PodfileRuby
source 'https://api.tomtom.com/maps-sdk-ios/cocoapods'
STEP 03

Mit Swift Package Manager hinzufügen

Geben Sie die Paket-URL über File > Add Package Dependencies in Xcode ein.

Package URLSwift Package Manager
https://github.com/MapConductor/ios-for-tomtom
Package.swiftSwift
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"),
        ]
    ),
]
STEP 04

API-Schlüssel übergeben

Sie werden pro Ansicht übergeben oder in Info.plist platziert.

ContentView.swiftSwift
// Per view
TomTomMapView(state: state, apiKey: "YOUR_TOMTOM_API_KEY")
Info.plistXML
<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.

ContentView.swiftSwiftUI
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.

TomTomMapDesign
Notes
Standard
Standard-Anzeigestil
Driving
Für das Fahren
Satellite
Satellitenbild

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.