MapTiler einrichten
Dies ist die Vorgehensweise, um Styles von MapTiler Cloud über MapConductor zu verwenden. Die iOS-Version verwendet MapLibre Native als Renderer und ermöglicht die Auswahl von MapTiler-Referenzstyles nach Namen.
Bevor Sie beginnen
API-Schlüssel abrufen
Erstellen Sie einen API-Schlüssel im Dashboard von MapTiler Cloud. Es gibt eine kostenlose Kontingent.
Mit Swift Package Manager hinzufügen
Geben Sie die Paket-URL über File > Add Package Dependencies in Xcode ein. MapLibre Native, der Renderer, wird automatisch als Abhängigkeit hinzugefügt.
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"),
]
),
]API-Schlüssel übergeben
Übergeben Sie es pro Ansicht oder platzieren Sie es in Info.plist. Wenn apiKey der Ansicht nil ist, wird Info.plist verwendet. Das gleiche Konzept wie bei der Android-Version, die MAPTILER_API_KEY aus AndroidManifest liest.
// 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>
PRÜFEN
Was Sie sehen sollten
Wenn die Karte und die Markierungen angezeigt werden, sind Sie fertig.
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")
)
}
}
}Kartendesigns
MapTilerDesign unterstützt MapTiler Cloud-Referenzstyles.
Fehlerbehebung
Die Karte bleibt weiß
- Überprüfen Sie, ob apiKey der Ansicht oder MapTilerAPIKey in Info.plist einen Wert enthält.
- Überprüfen Sie in MapTiler Cloud, ob der Schlüssel gültig ist und ob das kostenlose Kontingent nicht überschritten wurde.
Build schlägt fehl
- Löschen Sie den Build-Ordner (Cmd+Shift+K).
- Löschen Sie ~/Library/Developer/Xcode/DerivedData und erstellen Sie neu.
- Aktualisieren Sie die Abhängigkeiten von Swift Package Manager. Vermeiden Sie die gleichzeitige Verwendung mit CocoaPods.
Weiter
Da die iOS-Version mit MapLibre Native rendert, können Overlays wie Markierungen und Polygone unverändert über die gemeinsame API verwendet werden.