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.
Antes de empezar
Obtener clave de API
Emite una clave de API para Orbis Maps en el TomTom Developer Portal.
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.
source 'https://api.tomtom.com/maps-sdk-ios/cocoapods'
Agregar con Swift Package Manager
Ingresa la URL del paquete desde File > Add Package Dependencies en Xcode.
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"),
]
),
]Pasar clave de API
Se pasan por vista o se colocan en Info.plist.
// Per view TomTomMapView(state: state, apiKey: "YOUR_TOMTOM_API_KEY")
<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.
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.
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.