Documentación / Configuración / Android / Mappls

Configurar Mappls

Pasos para usar el SDK oficial de Android de Mappls (MapmyIndia) desde MapConductor. La autenticación se realiza mediante un archivo de configuración ubicado en la aplicación.

MODULE
com.mapconductor:for-mappls
API KEY
Obligatorio
VIEW
MapplsMapView
TIME
15 minutos
El mismo proveedor, otras plataformasiOSReact

Antes de empezar

Entorno de desarrollo de Android (Android Studio)
Cuenta de Mappls y credenciales
STEP 01

Obtener las credenciales

Registre la aplicación en la consola de desarrolladores de Mappls y obtenga las credenciales. Mappls no utiliza una sola clave de API como otras empresas, sino que se autentica mediante un archivo de configuración (.a.conf / .a.olf) ubicado en la aplicación.

STEP 02

Agregar repositorio

El SDK de Mappls se distribuye desde el propio repositorio de Mappls, no desde Maven Central.

settings.gradle.ktsKotlin
dependencyResolutionManagement {
    repositories {
        google()
        mavenCentral()
        maven { url = uri("https://maven.mappls.com/repository/mappls/") }
    }
}
STEP 03

Agregar dependencias

Agregue el SDK de Mappls y el módulo MapConductor. Las versiones se alinean mediante la BOM.

app/build.gradle.ktsKotlin
dependencies {
    // Mappls Android SDK
    implementation("com.mappls.sdk:mappls-android-sdk:9.0.3")

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

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

Configurar la autenticación

Coloque los archivos .a.conf / .a.olf recibidos de Mappls en la aplicación y aplique el complemento Gradle de Mappls (com.mappls.services.android). MapConductor no lee las credenciales desde AndroidManifest. Debe inicializarse según la forma propia del SDK de Mappls antes de que se cree el mapa. No agregue el archivo de configuración al control de código fuente.

VERIFICAR

Lo que deberías ver

Muestra un mapa centrado en Delhi. Si se cargan los mosaicos, ha terminado.

@Composable
fun TestMappls(modifier: Modifier = Modifier) {
    val mapState = rememberMapplsMapViewState(
        mapDesign = MapplsDesign.Default,
        cameraPosition = MapCameraPosition(
            position = GeoPoint(latitude = 28.6139, longitude = 77.2090),
            zoom = 11.0,
        ),
    )

    MapplsMapView(state = mapState, modifier = modifier.fillMaxSize())
}

Diseños de mapa

Notes
Default
Estilo predeterminado utilizable independientemente del contrato
StandardDay
Estilo diurno estándar
StandardNight / GreyDay
Opción de pago con cargos adicionales. Si no hay contrato, el SDK lo rechazará.

Solución de problemas

El mapa está completamente en blanco, no llega ningún mosaico

  • Verifique que las credenciales estén configuradas antes de la generación del mapa.
  • Verifique en la consola de Mappls que la clave sea válida y que no se haya excedido el límite de uso.
  • Verifique que el dispositivo pueda acceder a la red.

Al cambiar el estilo aparece "style not found"

  • StandardNight y GreyDay son opciones de pago con cargos adicionales. Si no tiene contrato, utilice Default o StandardDay.

No aparecen mosaicos de URLs que no sean de Mappls, como capas ráster

  • La capa HTTP nativa de Mappls descarta o recorta las solicitudes que no contienen mappls / mapmyindia en la URL. MapConductor ya evita esto, pero si reemplaza el módulo HTTP del SDK por su cuenta, la evitación también se desactiva.

Siguiente

Puedes seguir usando Marker, Polyline, Polygon, Circle, GroundOverlay, RasterLayer e InfoBubble a través de la API común. El código de la aplicación no cambia si cambias el proveedor.