Meshtastic-Android/feature/map
James Rich 96060a0a4d
Some checks are pending
Dependency Submission / dependency-submission (push) Waiting to run
Main CI (Verify & Build) / validate-and-build (push) Waiting to run
Main Push Changelog / Generate main push changelog (push) Waiting to run
refactor: coroutine dispatchers and modernize testing infrastructure (#4901)
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2026-03-24 01:31:48 +00:00
..
src refactor: coroutine dispatchers and modernize testing infrastructure (#4901) 2026-03-24 01:31:48 +00:00
build.gradle.kts feat: Migrate networking to Ktor and enhance multiplatform support (#4890) 2026-03-23 16:48:10 +00:00
README.md chore: Scheduled updates (Firmware, Hardware, Translations, Graphs) (#4832) 2026-03-17 16:51:09 -05:00

:feature:map

Overview

The :feature:map module provides the mapping interface for the application. It supports multiple map providers and displays node positions, tracks, and waypoints.

Key Components

1. MapScreen

The main mapping interface. It integrates with flavor-specific map implementations (Google Maps for google, OpenStreetMap for fdroid).

2. BaseMapViewModel

The base logic for managing map state, node markers, and camera positions.

Map Providers

  • Google Maps (google flavor): Uses Google Play Services Maps SDK.
  • OpenStreetMap (fdroid flavor): Uses osmdroid for a fully open-source mapping experience.

Features

  • Live Node Tracking: Real-time position updates for nodes on the mesh.
  • Waypoints: Create and share points of interest.
  • Offline Maps: Support for pre-downloaded map tiles (via osmdroid).

Module dependency graph

graph TB
  :feature:map[map]:::kmp-feature

classDef android-application fill:#CAFFBF,stroke:#000,stroke-width:2px,color:#000;
classDef android-application-compose fill:#CAFFBF,stroke:#000,stroke-width:2px,color:#000;
classDef compose-desktop-application fill:#CAFFBF,stroke:#000,stroke-width:2px,color:#000;
classDef android-feature fill:#FFD6A5,stroke:#000,stroke-width:2px,color:#000;
classDef android-library fill:#9BF6FF,stroke:#000,stroke-width:2px,color:#000;
classDef android-library-compose fill:#9BF6FF,stroke:#000,stroke-width:2px,color:#000;
classDef android-test fill:#A0C4FF,stroke:#000,stroke-width:2px,color:#000;
classDef jvm-library fill:#BDB2FF,stroke:#000,stroke-width:2px,color:#000;
classDef kmp-feature fill:#FFD6A5,stroke:#000,stroke-width:2px,color:#000;
classDef kmp-library fill:#FFC1CC,stroke:#000,stroke-width:2px,color:#000;
classDef unknown fill:#FFADAD,stroke:#000,stroke-width:2px,color:#000;