Documentación / Configuración / Android / Longdo

Configurar Longdo

Procedimiento para usar el Longdo Map API3 SDK desde MapConductor. Es un proveedor con especialización en mapas de Tailandia, se obtiene del repositorio Maven propio de Longdo.

MODULE
com.mapconductor:for-longdo
API KEY
Necesario
VIEW
LongdoMapView
TIME
15 minutos
El mismo proveedor, otras plataformasiOSReact

Antes de empezar

Entorno de desarrollo de Android (Android Studio)
Clave de API emitida en la consola de Longdo Map
STEP 01

Obtener clave de API

Emita una clave en la consola de Longdo Map. El SDK envía el nombre del paquete de la aplicación para verificación, por lo que es necesario registrar la clave vinculada a ese nombre de paquete.

STEP 02

Agregar repositorio de Longdo

settings.gradle.ktsKotlin
dependencyResolutionManagement {
    repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
    repositories {
        google()
        mavenCentral()

        // Longdo Map API3 SDK repository
        maven {
            url = uri("https://maven.longdo.com/artifactory/libs-release-public")
        }
    }
}
STEP 03

Agregar dependencias

app/build.gradle.ktsKotlin
dependencies {
    // Longdo Map API3 SDK
    implementation("com.longdo.map:sdk3:1.3.0")

    // MapConductor BOM pins every module below
    implementation(platform("com.mapconductor:mapconductor-bom:1.3.1"))

    implementation("com.mapconductor:core")
    implementation("com.mapconductor:for-longdo")
}
STEP 04

Pasar clave de API

El módulo lee longdo.map.key del manifiesto. También se puede configurar desde el código.

AndroidManifest.xmlXML
<manifest>
    <uses-permission android:name="android.permission.INTERNET" />

    <application>
        <meta-data
            android:name="longdo.map.key"
            android:value="${LONGDO_API_KEY}" />
    </application>
</manifest>
MainActivity.ktKotlin
// Alternative: set it in code before the first map is shown
com.longdo.sdk3.LongdoMap.API_KEY = "YOUR_LONGDO_API_KEY"
PRECAUCIÓN
No haga commit de secrets.properties en el control de versiones. Agregarlo a .gitignore previene accidentes. En CI se pasa por otra ruta segura, como variables de entorno.

VERIFICAR

Lo que deberías ver

Está completo si el mapa aparece centrado en Bangkok.

TestLongdo.ktJetpack Compose
@Composable
fun TestLongdo(modifier: Modifier = Modifier) {
    val mapState = rememberLongdoMapViewState(
        mapDesign = LongdoDesign.Normal,
        cameraPosition = MapCameraPosition(
            position = GeoPoint(13.7563, 100.5018),
            zoom = 12.0,
        ),
    )

    LongdoMapView(
        state = mapState,
        modifier = modifier,
        onMapLoaded = { /* map ready */ },
        onMapClick = { point -> /* tapped at point */ },
    )
}

Diseños de mapa

LongdoDesign es compatible con las capas base de Longdo.

LongdoDesign
Notes
Normal / Easy / Political
Estilo estándar
Pastel / PastelGray / Light / Gray
Estilo suave
Night / Dark / Hard
Oscuro / Alto contraste
Satellite / Hybrid
Imagen satelital e híbrido
Osm
Base OpenStreetMap

Solución de problemas

El mapa no aparece

  • Verifique en la consola si la clave está vinculada al nombre del paquete de la aplicación. El SDK envía el nombre del paquete para verificación.
  • Verifique si tiene el permiso INTERNET.

Error en la compilación

  • Verifique si las coordenadas y la versión del SDK del mapa coinciden con lo especificado en el catálogo de versiones.
  • Verifique si la definición del repositorio está en settings.gradle.kts (si repositoriesMode es FAIL_ON_PROJECT_REPOS, los repositories del lado del módulo se ignoran).
  • Si tiene varios SDK de mapa al mismo tiempo, verifique si hay conflictos de dependencias con ./gradlew :app:dependencies.

Siguiente

Marcadores, polilíneas, polígonos, círculos, imágenes de suelo, capas ráster e InfoBubble se pueden usar todos con la API común. Como el SDK de Android de Longdo está configurado para ejecutar la Longdo Map JS API3 en un WebView, las figuras se agregan internamente al MapLibre GL como fuente GeoJSON y capas fill/line. Las pruebas de impacto las maneja la detección geodésica del núcleo.