Skip to content

Show OpenMapX navigation on Android Auto and CarPlay #406

Description

@Medformatik

What problem would this solve?

Most people who navigate by car do it on the car's display, through Android Auto or CarPlay. OpenMapX does not appear there, so someone who wants to use it in the car has to mount the phone and look at a small screen instead of the dashboard. Without a car surface, OpenMapX cannot replace the default navigation app for drivers.

What would you like to be able to do?

When I connect my phone to a car with Android Auto, OpenMapX appears as a navigation app. On the car display I see the OpenMapX map with my route and position, the next maneuver, the distance to it and my arrival time. I can pick a destination from recent and saved places or search for one, start and stop navigation from the car, and hear voice guidance through the car's speakers. Phone and car show the same trip. CarPlay offers the same once Apple has granted access.

Verified current state

Checked against main at e68106f on 3 November 2026.

Approach

  1. Platform order and access (first, short step). Build Android Auto first. Development and testing with the Desktop Head Unit need no approval; publishing needs Google Play's car app review. Request Apple's CarPlay navigation entitlement at the start, because approval takes time. Confirm the current requirements, target API levels and review rules from primary documentation (Android for Cars navigation apps, CarPlay) and record them with dates. Android Automotive OS is a separate decision.
  2. Map on the car screen. Render the instance's own OpenMapX style with MapLibre Native on the car's surface, with the route line and position drawn from coordinator snapshots and day and night styles. Ferrostar's Android Auto guide shows a MapLibre-based setup to start from. Keep the cartography the same as the web map.
  3. One session, one owner. The car screen is another consumer of the coordinator, not a second navigation engine. Starting from the car plans the route and builds the start package in the shell with the shared core functions. The page, when open, sees the same session through the bridge's active-session handshake. Stopping from the car, phone or page ends the same session.
  4. Templates and metadata. Use the navigation template for guidance and the place-list or search templates for destinations. Report trip updates (maneuver, distance, ETA) through the car's navigation manager so the instrument cluster and head-up display show them. Handle host-requested stop and the car's day and night mode.
  5. Destinations. Search uses the instance's public geocoding API. Recent and saved places come from the page: it shares a bounded list with the shell over the bridge, so the shell never needs the user's web session.
  6. CarPlay. Once the entitlement is granted, provide the same feature set with CPMapTemplate and MapLibre Native on iOS, as a follow-up step in this issue.

Out of scope: mirroring the web UI on the car screen, Android Automotive OS, transit navigation in the car, and car-specific search ranking.

Acceptance criteria

  • Platform requirements, the entitlement request and its status, and the target versions are documented with dates.
  • In the Desktop Head Unit and on a real head unit, OpenMapX appears as a navigation app and renders the OpenMapX map with the route and current position smoothly, in day and night modes.
  • The car shows the next maneuver, the distance to it and the ETA. The instrument cluster receives trip updates where the car supports them.
  • A destination chosen in the car from recent places, saved places or search starts guidance.
  • Navigation started on the phone appears in the car, and the reverse. Stopping from either side ends the one session.
  • Disconnecting and reconnecting the car, locking the phone and reloading the page do not stop navigation or create a second session. A reroute appears in the car.
  • Voice guidance plays through the car's speakers with correct audio focus.
  • The car screens meet the Android for Cars navigation quality guidelines (template rules, driver distraction).
  • CarPlay: the same behaviour in the CarPlay Simulator and a car once the entitlement is granted. Until then, the blocker is stated in the issue and the docs.
  • The car session adapter has tests, and the docs include Desktop Head Unit and simulator screenshots.
  • The architecture docs record the native car map as an exception, and the store metadata and its forbidden-claims test are updated when car support ships.

Verification approach

Replay a recorded route in the Desktop Head Unit to check guidance, reroute, connect and disconnect, and stop. Test on at least one real Android Auto head unit before release. Keep platform review findings separate from phone-only test results.

Dependencies and decisions

Alternatives or workarounds

Mount the phone and use the app on its own screen (today). Mirror the phone screen: platforms do not allow it for navigation apps. Build only CarPlay first: it depends on an Apple approval we do not control.

Additional context

Ownership and status

Maintainer-owned backlog. On 3 November 2026 this was rewritten from a scope decision into the feature itself; settling platform access is its first step.

Activity

  1. added theissue type on Oct 6, 2026
  2. updated Priority Low and Effort High on Oct 6, 2026
  3. added and removed
    needs-triageOpen issue awaiting initial maintainer review
    on Oct 30, 2026
  4. changed the title [-]Decide Android Auto and CarPlay integration scope[/-] [+]Show OpenMapX navigation on Android Auto and CarPlay[/+] on Nov 3, 2026
  5. changed the issue type fromtoon Nov 3, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Fields

    Priority

    Low

    Effort

    High

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions