Mappls setup
How to drive Mappls (MapmyIndia)'s official Android SDK through MapConductor. Authentication happens through configuration files you place in your app.
Before you start
Get your credentials
Register your app in the Mappls developer console and obtain its credentials. Mappls does not authenticate with a single API key like the other providers: it reads configuration files (.a.conf / .a.olf) that you place in the app.
Add the repository
The Mappls SDK is not on Maven Central; it comes from Mappls’s own repository.
dependencyResolutionManagement {
repositories {
google()
mavenCentral()
maven { url = uri("https://maven.mappls.com/repository/mappls/") }
}
}Add the dependencies
Add the Mappls SDK and the MapConductor modules. The BOM pins the versions.
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")
}Wire up authentication
Place the .a.conf / .a.olf files you received from Mappls into your app and apply the Mappls Gradle plugin (com.mappls.services.android). MapConductor does not read Mappls credentials from the manifest: the Mappls SDK must be initialised its own way before the first map is created. Keep those files out of source control.
VERIFY
What you should see
Show a map centred on Delhi. Tiles loading means you are done.
@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())
}Map designs
Troubleshooting
The map is blank and no tiles arrive
- Check that the credentials are set before the first map is created.
- Confirm the key is active in the Mappls console and you are within quota.
- Confirm the device can reach the network.
Switching style reports "style not found"
- StandardNight and GreyDay are paid add-ons. Without the entitlement, use Default or StandardDay.
Raster layers from non-Mappls URLs do not draw
- Mappls's native HTTP layer drops or truncates requests whose URL contains neither mappls nor mapmyindia. MapConductor works around this; replacing the SDK's HTTP module yourself removes the workaround.
Next
Markers, polylines, polygons, circles, ground images, raster layers and info bubbles all work through the shared API. Swapping providers does not change your application code.