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.
Bevor Sie beginnen
API-Schlüssel abrufen
Lassen Sie einen Schlüssel in der Longdo Map-Konsole ausgeben.
Ü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.
https://github.com/MapConductor/ios-for-longdo
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"),
]
),
]API-Schlüssel übergeben
Eine der drei Methoden ist möglich.
LongdoInitSDK.apiKey = "YOUR_LONGDO_API_KEY"
// or per view:
// LongdoMapView(state: state, apiKey: "YOUR_LONGDO_API_KEY") { ... }
// or add LONGDO_API_KEY to Info.plistPRÜ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.
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.
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.