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.2.

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"))

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.

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

  • GoogleMapView composable
  • GoogleMapViewStateImpl
  • Google Maps–specific overlay controllers
  • MapboxMapView composable
  • MapboxViewStateImpl
  • HereMapView composable
  • HereViewStateImpl
  • ArcGISMapView composable
  • ArcGISMapViewStateImpl
  • MapLibreMapView composable
  • MapLibreViewStateImpl

Each provider module:

  • Implements MapViewState and controller bindings
  • Maps provider-specific camera + visible region into MapCameraPosition
  • 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.

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.2"))
implementation("com.mapconductor:core")
implementation("com.mapconductor:for-googlemaps")
// Multi-provider with icons and strategies
implementation(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.).