Modules Overview
MapConductor is split into multiple Gradle modules so that you can depend only on what you need. This page summarizes each mapconductor-xxx module in v1.1.2.
Core and BOM
Section titled “Core and BOM”mapconductor-bom
Section titled “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.2"))mapconductor-core
Section titled “mapconductor-core”Core runtime and shared abstractions:
- Geometry types:
GeoPoint,GeoRectBounds - Camera types:
MapCameraPosition,VisibleRegion - Map abstractions:
MapViewState,MapViewController,MapViewBase - Overlay primitives:
MarkerState,PolylineState,PolygonState,CircleState,GroundImageState
All other modules build on top of mapconductor-core.
Map Provider Integrations
Section titled “Map Provider Integrations”Provider-specific modules implement the unified APIs for each SDK:
mapconductor-for-googlemaps
Section titled “mapconductor-for-googlemaps”GoogleMapViewcomposableGoogleMapViewStateImpl- Google Maps–specific overlay controllers
mapconductor-for-mapbox
Section titled “mapconductor-for-mapbox”MapboxMapViewcomposableMapboxViewStateImpl
mapconductor-for-here
Section titled “mapconductor-for-here”HereMapViewcomposableHereViewStateImpl
mapconductor-for-arcgis
Section titled “mapconductor-for-arcgis”ArcGISMapViewcomposableArcGISMapViewStateImpl
mapconductor-for-maplibre
Section titled “mapconductor-for-maplibre”MapLibreMapViewcomposableMapLibreViewStateImpl
Each provider module:
- Implements
MapViewStateand controller bindings - Maps provider-specific camera + visible region into
MapCameraPosition - Exposes overlay controllers (marker, polyline, polygon, circle, ground image where supported)
Experimental / Utility Modules
Section titled “Experimental / Utility Modules”mapconductor-icons
Section titled “mapconductor-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.
mapconductor-marker-strategy
Section titled “mapconductor-marker-strategy”High-level marker rendering strategies:
- Spatial / clustering-like strategies
- Abstractions for remote-driven marker sets
Designed to work with any provider module via shared marker interfaces.
mapconductor-marker-native-strategy
Section titled “mapconductor-marker-native-strategy”Native-accelerated strategies for very large marker sets:
- Focus on performance at scale
- Typically combined with
mapconductor-marker-strategy
Example Applications
Section titled “Example Applications”example-app
Section titled “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
Section titled “simple-map-app”Minimal example for quick integration tests and debugging.
How to Choose Modules
Section titled “How to Choose Modules”Typical configurations:
// Minimal: Google Maps onlyimplementation(platform("com.mapconductor:mapconductor-bom:1.1.2"))implementation("com.mapconductor:core")implementation("com.mapconductor:for-googlemaps")// Multi-provider with icons and strategiesimplementation(platform("com.mapconductor:mapconductor-bom:1.1.2"))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.).