Documentación / Configuración / iOS / Apple MapKit

Configurar Apple MapKit

Pasos para usar el MapKit de Apple desde MapConductor. No se requieren dependencias externas, claves de API ni inicialización del SDK; como proveedor de iOS es el que requiere menos preparación.

PACKAGE
ios-for-mapkit
API KEY
No requerido
MIN iOS
15.1
VIEW
MapKitMapView
El mismo proveedor, otras plataformasReact

Antes de empezar

Xcode 15 o superior
Destino de implementación iOS 15.1 o superior
STEP 01

Agregar con Swift Package Manager

MapKit se incluye en iOS, por lo que no se requieren cuentas, claves ni inicialización adicionales. Simplemente agregue el paquete.

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

Agregar permisos de ubicación (si es necesario)

Si utiliza información de ubicación, escriba el propósito en Info.plist y solicite permiso en la aplicación.

Info.plistXML
<key>NSLocationWhenInUseUsageDescription</key>
<string>We need your location to display on the map</string>
LocationManager.swiftSwift
import CoreLocation

final class LocationManager: NSObject, ObservableObject, CLLocationManagerDelegate {
    private let manager = CLLocationManager()

    override init() {
        super.init()
        manager.delegate = self
    }

    func requestPermission() {
        manager.requestWhenInUseAuthorization()
    }
}

VERIFICAR

Lo que deberías ver

Si aparece el mapa y funcionan el zoom y el desplazamiento, ha terminado.

ContentView.swiftSwiftUI
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()
    }
}

Diseños de mapa

MapKitMapDesign es compatible con MKMapType.

MapKitMapDesign
Notes
Standard
Mapa de carreteras estándar
Satellite
Imagen satelital
Hybrid
Imagen satelital + carreteras y etiquetas
MutedStandard
Estilo claro para base de datos

Solución de problemas

El mapa no aparece

  • Verifique que el destino de implementación sea iOS 15.1 o superior.
  • Verifique que MapConductorForMapKit esté vinculado al destino.

La compilación falla

  • Limpie la carpeta de compilación (Cmd+Shift+K).
  • Elimine ~/Library/Developer/Xcode/DerivedData y vuelva a compilar.
  • Actualice las dependencias de Swift Package Manager. Evite usarlo junto con CocoaPods.

Siguiente

Si su objetivo son solo las plataformas de Apple, al no requerir SDKs ni claves adicionales, el tamaño de distribución será menor. En la web, también puede usar el proveedor de MapKit JS.