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.
Antes de empezar
Obtener clave de API
Genere una clave de API en el panel de MapTiler Cloud. Hay una cuota gratuita disponible.
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.
https://github.com/MapConductor/ios-for-maptiler
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"),
]
),
]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.
// Per view MapTilerMapView(state: mapViewState, apiKey: "YOUR_MAPTILER_API_KEY")
<!-- Fallback, used when the view's apiKey is nil --> <key>MapTilerAPIKey</key> <string>YOUR_MAPTILER_API_KEY</string>
VERIFICAR
Lo que deberías ver
Si aparecen el mapa y los marcadores, ha terminado.
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.
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.