Documentación / Configuración / iOS / Longdo

Configurar Longdo

Instrucciones para usar el Longdo Map iOS SDK (Longdo Map Framework 4.x) desde MapConductor. La versión de iOS renderiza marcadores, polilíneas, polígonos, círculos, imágenes de suelo y capas ráster como superposiciones nativas.

PACKAGE
ios-for-longdo
API KEY
Necesario
MIN iOS
16.0
VIEW
LongdoMapView
El mismo proveedor, otras plataformasAndroidReact

Antes de empezar

Xcode 15 o posterior
Clave de API emitida en la consola de Longdo Map
Destino de implementación iOS 16.0 o posterior
STEP 01

Obtener clave de API

Emita una clave en la consola de Longdo Map.

STEP 02

Agregar con Swift Package Manager

Ingrese la URL del paquete desde File > Add Package Dependencies en Xcode. Longdo Map Framework (XCFramework binario) se agregará automáticamente como dependencia. Solo se distribuye mediante SwiftPM.

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

Pasar la clave de API

Cualquiera de los tres métodos es válido.

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

VERIFICAR

Lo que deberías ver

Si el mapa aparece con Bangkok en el centro y se dibujan un marcador y un círculo, ha terminado.

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

Diseños de mapa

LongdoDesign admite las capas base de Longdo.

LongdoDesign
Notes
Normal / Easy / Political
Estilos estándar
Pastel / PastelGray / Light / Gray
Estilos claros
Night / Dark / Hard
Oscuro y alto contraste
Satellite / Hybrid
Imágenes satelitales e híbrido
Osm
Base de OpenStreetMap

Solución de problemas

El mapa no aparece

  • Asegúrese de que la clave de API se pase de manera confiable mediante uno de los tres métodos.
  • Asegúrese de que el destino de implementación sea iOS 16.0 o posterior.

Lento con muchos marcadores

  • Dado que Longdo dibuja los marcadores uno por uno, la optimización mediante mosaico o agrupación no es efectiva. Si necesita muchos marcadores, considere otro proveedor.

Error de compilación

  • Limpie la carpeta de compilación (Cmd+Shift+K).
  • Elimine ~/Library/Developer/Xcode/DerivedData y vuelva a compilar.
  • Actualice las dependencias de Swift Package Manager. Evite usarlo junto con CocoaPods.

Siguiente

Dado que la unidad de radio del Circle de Longdo es ambigua, los anillos geodésicos se dibujan como polígonos. El radio se puede especificar en metros.