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 mapconductor-xxx module in v1.1.3.

Bill of Materials for all MapConductor artifacts.

  • Aligns versions across all modules
  • Recommended for all projects
implementation(platform("com.mapconductor:mapconductor-bom:1.1.3"))

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 mapconductor-core.

Provider-specific modules implement the unified APIs for each SDK:

  • GoogleMapView composable
  • GoogleMapViewState
  • Google Maps–specific overlay controllers
  • MapboxMapView composable
  • MapboxViewState
  • HereMapView composable
  • HereViewState
  • ArcGISMapView composable
  • ArcGISMapViewState
  • 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)

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.

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 and provider-registered capabilities (see Map Service Registry).

Native-accelerated strategies for very large marker sets:

  • Focus on performance at scale
  • Typically combined with mapconductor-marker-strategy

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

Minimal example for quick integration tests and debugging.

Typical configurations:

// Minimal: Google Maps only
implementation(platform("com.mapconductor:mapconductor-bom:1.1.3"))
implementation("com.mapconductor:core")
implementation("com.mapconductor:for-googlemaps")
// Multi-provider with icons and strategies
implementation(platform("com.mapconductor:mapconductor-bom:1.1.3"))
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.).