Modules Overview
MapConductor is split into multiple Gradle modules so that you can depend only on what you need. This page summarizes each android-xxx module in v1.1.7.
Core and BOM
mapconductor-bom
Bill of Materials for all MapConductor artifacts.
- Aligns versions across all modules
- Recommended for all projects
implementation(platform("com.mapconductor:mapconductor-bom:1.1.7"))android-sdk-core
Core runtime and shared abstractions:
- Geometry types:
GeoPointInterface,GeoRectBounds - Camera types:
MapCameraPositionInterface,VisibleRegion - Map abstractions:
MapViewStateInterface,MapViewControllerInterface,MapViewBase - Plugin / capability registry:
MapServiceRegistry(viaLocalMapServiceRegistry) - Overlay primitives:
MarkerState,PolylineState,PolygonState,CircleState,GroundImageState
All other modules build on top of android-sdk-core.
Map Provider Integrations
Provider-specific modules implement the unified APIs for each SDK:
android-for-googlemaps
GoogleMapViewcomposableGoogleMapViewState- Google Maps–specific overlay controllers
android-for-mapbox
MapboxMapViewcomposableMapboxViewState
android-for-here
HereMapViewcomposableHereViewState
android-for-arcgis
ArcGISMapViewcomposableArcGISMapViewState
android-for-maplibre
MapLibreMapViewcomposableMapLibreViewState
Each provider module:
- Implements
MapViewStateInterfaceand controller bindings - Maps provider-specific camera + visible region into
MapCameraPositionInterface - Exposes overlay controllers (marker, polyline, polygon, circle, ground image where supported)
Experimental / Utility Modules
android-icons
Composable marker icons implemented in pure Compose:
CircleIcon,FlagIcon- Info bubble styles (round, tail, etc.)
Useful when you want consistent marker visuals across providers without relying on provider-specific drawables.
android-heatmap
Map-implementation-agnostic heatmap overlay:
HeatmapOverlaycomposableHeatmapPointsfor batch point updatesHeatmapOverlayStatefor dynamic property changes- Custom
HeatmapGradientsupport
Works with any map provider via a tile-based raster layer. See Heatmap.
android-geojson-layer
Map-implementation-agnostic GeoJSON layer:
GeoJSONLayercomposableGeoJSONFeaturefor static dataGeoJSONFeatureStatefor Compose state integrationGeoJSONParserfor bulk and streaming parse
Works with any map provider via a tile-based raster layer. See GeoJSON Layer.
android-marker-clustering
Automatic marker clustering across all map providers:
MarkerClusterGroupcomposableMarkerClusterGroupStatefor behavior configuration- Custom
clusterIconProvidersupport - Zoom/pan animations
See Marker Clustering.
Example Applications
example-app
Showcase application demonstrating:
- Basic map usage and provider switching
- Camera handling and visible region (
VisibleRegionPage,ZoomCalibrationPage) - Polylines, polygons, circles, and ground images
- Info bubbles and custom marker icons
simple-map-app
Minimal example for quick integration tests and debugging.
How to Choose Modules
Typical configurations:
// Minimal: Google Maps onlyimplementation(platform("com.mapconductor:mapconductor-bom:1.1.7"))implementation("com.mapconductor:core")implementation("com.mapconductor:for-googlemaps")// Multi-provider with icons and strategiesimplementation(platform("com.mapconductor:mapconductor-bom:1.1.7"))implementation("com.mapconductor:core")implementation("com.mapconductor:for-googlemaps")implementation("com.mapconductor:for-mapbox")implementation("com.mapconductor:icons")implementation("com.mapconductor:marker-strategy")Use this page as a high-level map; detailed API information for each area (core, components, states, experimental) can be migrated from the existing mdBook sections (docs/src/core, docs/src/components, etc.).