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.
Antes de empezar
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.
Agregar repositorio
El SDK de Mappls se distribuye desde el propio repositorio de Mappls, no desde Maven Central.
dependencyResolutionManagement {
repositories {
google()
mavenCentral()
maven { url = uri("https://maven.mappls.com/repository/mappls/") }
}
}Agregar dependencias
Agregue el SDK de Mappls y el módulo MapConductor. Las versiones se alinean mediante la BOM.
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")
}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
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.