Doku / Einrichtung / iOS / MapTiler

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.

PACKAGE
ios-for-maptiler
API KEY
Erforderlich
MIN iOS
15.1
VIEW
MapTilerMapView
Derselbe Anbieter, andere PlattformenAndroidReact

Bevor Sie beginnen

Xcode 15 oder höher
MapTiler Cloud-Konto und API-Schlüssel
Deployment-Ziel iOS 15.1 oder höher
STEP 01

API-Schlüssel abrufen

Erstellen Sie einen API-Schlüssel im Dashboard von MapTiler Cloud. Es gibt eine kostenlose Kontingent.

STEP 02

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.

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

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.

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>
ACHTUNG
Schreiben Sie den Schlüssel nicht fest in den Quellcode, sondern injizieren Sie ihn zur Buildzeit über xcconfig oder Umgebungsvariablen.

PRÜFEN

Was Sie sehen sollten

Wenn die Karte und die Markierungen angezeigt werden, sind Sie fertig.

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")
            )
        }
    }
}

Kartendesigns

MapTilerDesign unterstützt MapTiler Cloud-Referenzstyles.

MapTilerDesign
Notes
Streets / StreetsDark / StreetsLight
Standard-Straßenkarte und Hell-Dunkel-Varianten
Basic / Bright
Stil mit reduzierter Informationsmenge
Satellite
Satellitenbilder
Outdoor / Winter / Topo
Outdoor, Winter, Gelände
Toner / Dataviz / Backdrop
Für Basisebenen zum Darstellen von Daten
Ocean / Landscape / Aquarelle / OpenStreetMap
Weitere themenspezifische Styles

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.