Documentación / Configuración / iOS / TomTom

Configurar TomTom

Pasos para usar TomTom Orbis Maps desde MapConductor. Ofrece las mismas funciones que la versión para Android y es compatible con Marker, Polyline, Polygon, Circle, GroundImage, RasterLayer y InfoBubble.

PACKAGE
ios-for-tomtom
API KEY
Obligatorio
MIN iOS
16.0
VIEW
TomTomMapView
El mismo proveedor, otras plataformasAndroidReact

Antes de empezar

Xcode 15 o posterior
Clave de API para Orbis Maps del TomTom Developer Portal
Objetivo de implementación iOS 16.0 o posterior
STEP 01

Obtener clave de API

Emite una clave de API para Orbis Maps en el TomTom Developer Portal.

STEP 02

Agregar fuente del SDK de TomTom

El TomTom Orbis Maps Display SDK se distribuye como un xcframework binario desde el Artifactory de TomTom. Dado que el paquete de MapConductor hace referencia a él como destino binario, agrega la fuente de TomTom al Podfile de la aplicación.

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

Agregar con Swift Package Manager

Ingresa la URL del paquete desde File > Add Package Dependencies en Xcode.

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

Pasar clave de API

Se pasan por vista o se colocan en Info.plist.

ContentView.swiftSwift
// Per view
TomTomMapView(state: state, apiKey: "YOUR_TOMTOM_API_KEY")
Info.plistXML
<key>TomTomAPIKey</key>
<string>YOUR_TOMTOM_API_KEY</string>

VERIFICAR

Lo que deberías ver

Si aparece el mapa y los marcadores, has terminado. Los marcadores arrastrables se pueden arrastrar tal como están.

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

Diseños de mapa

TomTomMapDesign es compatible con el estilo estándar de Orbis Maps.

TomTomMapDesign
Notes
Standard
Estilo estándar de visualización
Driving
Para conducir
Satellite
Imagen satelital

Solución de problemas

El mapa permanece totalmente blanco

  • Verifica si apiKey de la vista o TomTomAPIKey en Info.plist tiene un valor.
  • Verifica que el objetivo de implementación sea iOS 16.0 o posterior.

No se encontró xcframework

  • El SDK de TomTom es una distribución binaria. Verifica si agregaste la fuente de TomTom al Podfile.

Error en la compilación

  • Limpia la carpeta de compilación (Cmd+Shift+K).
  • Elimina ~/Library/Developer/Xcode/DerivedData y vuelve a compilar.
  • Actualiza las dependencias de Swift Package Manager. Evita usarlo junto con CocoaPods.

Siguiente

Dado que TomTom no tiene arrastre nativo para marcadores, MapConductor implementa el arrastre procesando directamente los gestos de MapView. El zoom se convierte al equivalente de Google teniendo en cuenta la latitud de la cámara.