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.
Antes de empezar
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.
Agregar repositorio de Longdo
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")
}
}
}Agregar dependencias
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")
}Pasar clave de API
El módulo lee longdo.map.key del manifiesto. También se puede configurar desde el código.
<manifest>
<uses-permission android:name="android.permission.INTERNET" />
<application>
<meta-data
android:name="longdo.map.key"
android:value="${LONGDO_API_KEY}" />
</application>
</manifest>// Alternative: set it in code before the first map is shown com.longdo.sdk3.LongdoMap.API_KEY = "YOUR_LONGDO_API_KEY"
VERIFICAR
Lo que deberías ver
Está completo si el mapa aparece centrado en Bangkok.
@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.
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.