Documentación / Configuración / iOS / MapTiler

Configurar MapTiler

Estos son los pasos para usar estilos de MapTiler Cloud desde MapConductor. La versión de iOS usa MapLibre Native como renderizador y permite seleccionar estilos de referencia de MapTiler por nombre.

PACKAGE
ios-for-maptiler
API KEY
Requerido
MIN iOS
15.1
VIEW
MapTilerMapView
El mismo proveedor, otras plataformasAndroidReact

Antes de empezar

Xcode 15 o superior
Cuenta de MapTiler Cloud y clave de API
Destino de implementación iOS 15.1 o superior
STEP 01

Obtener clave de API

Genere una clave de API en el panel de MapTiler Cloud. Hay una cuota gratuita disponible.

STEP 02

Agregar con Swift Package Manager

Ingrese la URL del paquete desde File > Add Package Dependencies en Xcode. MapLibre Native, el renderizador, se agrega automáticamente como dependencia.

Package URLSwift Package Manager
https://github.com/MapConductor/ios-for-maptiler
Package.swiftSwift
dependencies: [
    .package(url: "https://github.com/MapConductor/ios-sdk-core", from: "1.3.1"),
    .package(url: "https://github.com/MapConductor/ios-for-maptiler", from: "1.0.0"),
],
targets: [
    .target(
        name: "YourApp",
        dependencies: [
            .product(name: "MapConductorCore", package: "ios-sdk-core"),
            .product(name: "MapConductorForMapTiler", package: "ios-for-maptiler"),
        ]
    ),
]
STEP 03

Pasar clave de API

Páselo por vista o colóquelo en Info.plist. Se usa Info.plist cuando apiKey de la vista es nil. Es el mismo concepto que la versión de Android que lee MAPTILER_API_KEY de AndroidManifest.

ContentView.swiftSwift
// Per view
MapTilerMapView(state: mapViewState, apiKey: "YOUR_MAPTILER_API_KEY")
Info.plistXML
<!-- Fallback, used when the view's apiKey is nil -->
<key>MapTilerAPIKey</key>
<string>YOUR_MAPTILER_API_KEY</string>
PRECAUCIÓN
No escriba la clave directamente en el código fuente; inyéctela en el momento de la compilación desde xcconfig o variables de entorno.

VERIFICAR

Lo que deberías ver

Si aparecen el mapa y los marcadores, ha terminado.

ContentView.swiftSwiftUI
import SwiftUI
import MapConductorCore
import MapConductorForMapTiler

struct ContentView: View {
    @StateObject private var mapViewState = MapTilerViewState(
        cameraPosition: MapCameraPosition(
            position: GeoPoint(latitude: 35.6762, longitude: 139.6503),
            zoom: 11
        )
    )

    var body: some View {
        MapTilerMapView(state: mapViewState) {
            Marker(
                position: GeoPoint(latitude: 35.6762, longitude: 139.6503),
                icon: DefaultMarkerIcon(label: "Tokyo")
            )
        }
    }
}

Diseños de mapa

MapTilerDesign es compatible con estilos de referencia de MapTiler Cloud.

MapTilerDesign
Notes
Streets / StreetsDark / StreetsLight
Mapa de carreteras estándar y variantes claro/oscuro
Basic / Bright
Estilo con cantidad de información reducida
Satellite
Imágenes satelitales
Outdoor / Winter / Topo
Aire libre, invierno, terreno
Toner / Dataviz / Backdrop
Para capas base para mostrar datos
Ocean / Landscape / Aquarelle / OpenStreetMap
Otros estilos temáticos

Solución de problemas

El mapa permanece en blanco

  • Verifique que apiKey de la vista o MapTilerAPIKey en Info.plist tenga un valor.
  • Verifique en MapTiler Cloud si la clave es válida y si no se ha excedido la cuota gratuita.

Error de compilación

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

Siguiente

Dado que la versión de iOS renderiza con MapLibre Native, las superposiciones como marcadores y polígonos se pueden usar directamente con la API común.