Doku / Einrichtung / iOS / Longdo

Longdo einrichten

Anleitung zur Verwendung des Longdo Map iOS SDK (Longdo Map Framework 4.x) mit MapConductor. Die iOS-Version rendert Marker, Polylinien, Polygone, Kreise, Ground Images und Raster-Layer als native Overlays.

PACKAGE
ios-for-longdo
API KEY
Erforderlich
MIN iOS
16.0
VIEW
LongdoMapView
Derselbe Anbieter, andere PlattformenAndroidReact

Bevor Sie beginnen

Xcode 15 oder höher
In der Longdo Map-Konsole ausgegebener API-Schlüssel
Deployment-Ziel iOS 16.0 oder höher
STEP 01

API-Schlüssel abrufen

Lassen Sie einen Schlüssel in der Longdo Map-Konsole ausgeben.

STEP 02

Über Swift Package Manager hinzufügen

Geben Sie die Paket-URL über File > Add Package Dependencies in Xcode ein. Das Longdo Map Framework (binäres XCFramework) wird automatisch als Abhängigkeit hinzugefügt. Es wird nur über SwiftPM verteilt.

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

API-Schlüssel übergeben

Eine der drei Methoden ist möglich.

MyApp.swiftSwift
LongdoInitSDK.apiKey = "YOUR_LONGDO_API_KEY"

// or per view:
// LongdoMapView(state: state, apiKey: "YOUR_LONGDO_API_KEY") { ... }

// or add LONGDO_API_KEY to Info.plist

PRÜFEN

Was Sie sehen sollten

Wenn die Karte mit Bangkok im Zentrum angezeigt wird und ein Marker sowie ein Kreis gezeichnet sind, sind Sie fertig.

ContentView.swiftSwiftUI
import SwiftUI
import MapConductorCore
import MapConductorForLongdo

struct ContentView: View {
    @StateObject private var state = LongdoViewState(
        mapDesignType: LongdoDesign.Normal,
        cameraPosition: MapCameraPosition(
            position: GeoPoint(latitude: 13.7563, longitude: 100.5018),
            zoom: 12
        )
    )

    var body: some View {
        LongdoMapView(state: state) {
            Marker(
                position: GeoPoint(latitude: 13.7563, longitude: 100.5018),
                icon: DefaultMarkerIcon(label: "A")
            )
            Circle(
                center: GeoPoint(latitude: 13.7563, longitude: 100.5018),
                radiusMeters: 1500
            )
        }
    }
}

Kartendesigns

LongdoDesign unterstützt die Basis-Layer von Longdo.

LongdoDesign
Notes
Normal / Easy / Political
Standard-Stile
Pastel / PastelGray / Light / Gray
Helle Stile
Night / Dark / Hard
Dunkel & Hoher Kontrast
Satellite / Hybrid
Satellitenbilder und Hybrid
Osm
OpenStreetMap-Basis

Fehlerbehebung

Karte wird nicht angezeigt

  • Stellen Sie sicher, dass der API-Schlüssel über eine der drei Methoden zuverlässig übergeben wird.
  • Stellen Sie sicher, dass das Deployment-Ziel iOS 16.0 oder höher ist.

Langsam bei vielen Markern

  • Da Longdo Marker einzeln zeichnet, wirken sich Optimierungen durch Tiling oder Clustering nicht aus. Wenn Sie viele Marker benötigen, ziehen Sie einen anderen Anbieter in Betracht.

Build schlägt fehl

  • Löschen Sie den Build-Ordner (Cmd+Shift+K).
  • Löschen Sie ~/Library/Developer/Xcode/DerivedData und bauen Sie erneut.
  • Aktualisieren Sie die Abhängigkeiten von Swift Package Manager. Vermeiden Sie die gleichzeitige Verwendung mit CocoaPods.

Weiter

Da die Radius-Einheit des Circle von Longdo unklar ist, werden geodätische Ringe als Polygone gezeichnet. Der Radius kann in Metern angegeben werden.