Skip to content

Junction panoramas are clipped and junction positions drift on long routes #440

Open

Description

@Medformatik

What happened?

Junction photos can remain blank or never be requested during navigation on openmapx.com.

A decoded panorama uses a 400% strip for its 90° crop, but the global image reset clamps it to 100%. The crop offset can then place the image outside the clipped panel.

Junction positions also use engine step-distance totals as offsets into geometry measured separately with haversine distances. On Aachen Europaplatz → Orsoy, the Neuss and Rheinberg lookups were approximately 114 m and 139 m from their maneuver coordinates. The lookup returned onMotorway: false, preventing photo prefetch.

What did you expect?

Render the intended panorama crop and locate junctions at their maneuver coordinates in route order. Preserve repeated visits, a fallback for missing shapes, imagery coverage and navigation eligibility rules.

Steps to reproduce

The original report used navigation from Aachen Europaplatz to Orsoy and identified the Neuss/Rheinberg lookups above. Exact turn-by-turn setup and deterministic reproduction steps were not recorded.

Where does it happen?

Hosted app (openmapx.com).

Running version(s)

Unknown. The original report did not identify the deployed commit.

Environment and affected component (if known)

Navigation panorama rendering and junction-position/photo-prefetch logic. Browser and OS versions were not recorded.

Screenshots and additional context

Scope the panorama width override to its strip and anchor each junction and geometry offset to the maneuver coordinates. No screenshot was attached to the original issue.

Rechecked on 30 October 2026 against main at fe796a6405f215fda3b18032e8181ed8647ac108; both defects are still present there:

  • JunctionPhoto sizes the panorama strip to windowsPerTurn * 100% without overriding max-width, and the global reset still applies max-width: 100% to images.
  • Decision points are still placed with stepStartMeters (summed engine step distances) as an offset into haversine cumulativeDistances of the geometry.

#442 is still an open draft. It contains geometry-based maneuver boundaries and a panorama max-width override, but its main purpose is now to temporarily hide the experimental junction card. Until it merges, main has both defects and no hide switch for the card.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

Fields

Priority

High

Effort

Medium

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions