Skip to content

[Bug]: Maneuver arrows mirror via imageOrientation only, so CarPlay draws left turns pointing right #4850

Description

@Knapiii

Mapbox Navigation SDK version

3.25.1

Steps to reproduce

  1. Show CarPlay maneuvers the way CarPlayNavigationViewController does, by assigning
    CPManeuver.symbolSet from VisualInstruction.maneuverImageSet(side:visualInstruction:),
    or CPManeuver.symbolImage from an equivalent ManeuverView snapshot.
  2. Navigate a route containing a left turn, in a country that drives on the right.
  3. Look at the maneuver symbol in the CarPlay guidance card.

Measured on a physical head unit, iOS 26, SDK 3.25.1.

Expected behavior

The CarPlay maneuver symbol points in the direction of the maneuver.

For a VisualInstruction with maneuverDirection == .left, the arrow in the
CarPlay guidance card points left.

Actual behavior

The arrow points right. Left and right are swapped for every maneuver that ManeuverView renders by mirroring:

  • .left / .slightLeft / .sharpLeft
  • U-turns where drivingSide == .right
  • roundabouts and rotaries where drivingSide == .left

Right turns, straight-ahead and arrivals are unaffected.

The map, the banner text and the spoken instruction are all correct at the same
time. Only the CarPlay symbol is wrong, which makes it easy to miss: the driver
is told "turn left", the route line turns left, and the icon in the corner
points right.

Only the snapshot path is affected. The in-app banner uses ManeuverView as a
live subview and looks correct. The CarPlay symbol comes from a UIImage
snapshot of the same view, and that is where the mirroring is lost.

Is this a one-time issue or a repeatable issue?

repeatable

Activity

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

    bugSomething isn’t working

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions