Skip to content

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 (via LocalMapServiceRegistry)
  • 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

  • GoogleMapView composable
  • GoogleMapViewState
  • Google Maps–specific overlay controllers

android-for-mapbox

  • MapboxMapView composable
  • MapboxViewState

android-for-here

  • HereMapView composable
  • HereViewState

android-for-arcgis

  • ArcGISMapView composable
  • ArcGISMapViewState

android-for-maplibre

  • MapLibreMapView composable
  • MapLibreViewState

Each provider module:

  • Implements MapViewStateInterface and 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:

  • HeatmapOverlay composable
  • HeatmapPoints for batch point updates
  • HeatmapOverlayState for dynamic property changes
  • Custom HeatmapGradient support

Works with any map provider via a tile-based raster layer. See Heatmap.

android-geojson-layer

Map-implementation-agnostic GeoJSON layer:

  • GeoJSONLayer composable
  • GeoJSONFeature for static data
  • GeoJSONFeatureState for Compose state integration
  • GeoJSONParser for 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:

  • MarkerClusterGroup composable
  • MarkerClusterGroupState for behavior configuration
  • Custom clusterIconProvider support
  • 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 only
implementation(platform("com.mapconductor:mapconductor-bom:1.1.7"))
implementation("com.mapconductor:core")
implementation("com.mapconductor:for-googlemaps")
// Multi-provider with icons and strategies
implementation(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.).