SVG Routes – Guide for Designers
For navigation on the Center website to function, the routes must be included in the SVG. You will draw the paths in Illustrator – the system highlights them as needed.
1. Where to Draw?
Add a group with the ID routes:
<g id="routes">
<!-- Your lines and paths go here -->
</g>
This group should be at the same level as shops, entrances, services (in the root or in a parent group).
2. Option C: Simple Network (recommended)
Least effort: Draw a network of lines and paths wherever people can walk — as usual exported from Adobe Illustrator (line, path, polyline). No IDs or data-from/data-to needed.
<g id="routes">
<line x1="1019" y1="989" x2="1019" y2="940" stroke="#ccc" stroke-width="2"/>
<line x1="1019" y1="940" x2="1019" y2="703" stroke="#ccc" stroke-width="2"/>
<path d="M1019 703 L990 703" stroke="#ccc" stroke-width="2"/>
<polyline points="990 703 950 720 900 740" fill="none" stroke="#ccc" stroke-width="2"/>
<!-- Additional lines through corridors, intersections, etc. -->
</g>
The system automatically connects endpoints that touch or are up to approx. 5 px offset (typical Illustrator tolerances at intersections) and calculates the shortest path from start to destination. The group #routes will not be displayed as visible designer lines on the website — only the calculated guiding line.
3. Additional Options (optional)
Option A: Route Groups
Each route (e.g. main entrance → shop XY) is a separate group:
<g id="route-entrance-1-shop-EG-14">
<line x1="1019" y1="989" x2="1019" y2="940" stroke="#ccc" stroke-width="2"/>
<line x1="1019" y1="940" x2="1019" y2="703" stroke="#ccc" stroke-width="2"/>
<line x1="1019" y1="703" x2="990" y2="703" stroke="#ccc" stroke-width="2"/>
</g>
ID Convention: route-{startId}-{targetId}
- Start: e.g.
entrance-1,entrance-2(as in<g id="entrances">) - Target: e.g.
shop-EG-14(as in<path id="shop-EG-14">)
Option B: Individual Segments with Assignment
Each line segment has data-from and data-to:
<line id="route-seg-001" x1="1019" y1="989" x2="1019" y2="940"
data-from="entrance-1" data-to="junction-middle" stroke="#ccc"/>
<line id="route-seg-002" x1="1019" y1="940" x2="1019" y2="703"
data-from="junction-middle" data-to="junction-shop" stroke="#ccc"/>
<line id="route-seg-003" x1="1019" y1="703" x2="990" y2="703"
data-from="junction-shop" data-to="shop-EG-14" stroke="#ccc"/>
The system automatically connects the segments into a route.
4. IDs – What Needs to Match? (only Option A/B)
In Option C (simple network) no IDs are needed. The following table applies only to Option A and B:
| Element | Example ID | Where defined? |
|---|---|---|
| Entrance | entrance-1, entrance-2 | <g id="entrances"> → <g id="entrance-1"> |
| Shop | shop-EG-14, shop-EG-01 | <path id="shop-EG-14"> in #shops |
| Junction (intersection) | junction-middle, junction-eg-1 | Freely chosen, only in data-from/to |
Important: The IDs in data-from and data-to must match exactly with the IDs in the SVG (case-sensitive).
5. Line Style
- Default:
stroke="#ccc"orstroke="#999"– discreet, not dominant - Stroke-Width: e.g.
stroke-width="2"or3 - For active routes, the system automatically colors the line orange (
#f97316) – you don't need to change anything.
6. Element Types
| Element | Usage |
|---|---|
<line x1="..." y1="..." x2="..." y2="..."/> | Straight sections |
<path d="M..."/> | Curves, complex paths |
Both are supported.
7. Example (simplified)
<g id="routes">
<!-- Route: Main Entrance (entrance-1) to Shop EG-14 -->
<g id="route-entrance-1-shop-EG-14">
<line x1="1019" y1="1010" x2="1019" y2="989" stroke="#ccc" stroke-width="2"/>
<line x1="1019" y1="989" x2="1019" y2="940" stroke="#ccc" stroke-width="2"/>
<line x1="1019" y1="940" x2="1019" y2="703" stroke="#ccc" stroke-width="2"/>
<line x1="1019" y1="703" x2="990" y2="703" stroke="#ccc" stroke-width="2"/>
</g>
<!-- Route: Main Entrance to Shop EG-01 -->
<g id="route-entrance-1-shop-EG-01">
<line x1="1019" y1="1010" x2="1019" y2="989" stroke="#ccc" stroke-width="2"/>
<line x1="1019" y1="989" x2="1076" y2="989" stroke="#ccc" stroke-width="2"/>
<path d="M1076.61,989.16 L1323.15,879.15" stroke="#ccc" stroke-width="2"/>
</g>
</g>
8. Export from Illustrator
- Export as SVG
- IDs and
data-*attributes are retained as long as you name the elements accordingly. - If necessary: After exporting, check that
id="routes"and the route IDs are present.
9. AR Markers in the Dashboard (Beta)
In addition to the SVG routes, AR fields can be maintained in the dashboard for each waypoint to enhance navigation in the Companion App (NOW!):
| Field | Description |
|---|---|
| Viewing Direction | The direction the user is facing at this point (N, NE, E, SE, S, SW, W, NW) |
| Corridor Direction | Corridor direction to the next waypoint (degree) |
| Distance (m) | Distance to the next waypoint in meters |
| Landmarks | Visible reference points (e.g. "Fountain, H&M left") |
| Shopfront Image | URL to a photo of the shopfront (used as an AR marker for MindAR.js) |
Workflow:
- Select a waypoint in the dashboard under Center Plans > Floor > Tab "Routes"
- Expand panel "AR Navigation (Beta)"
- Fill out fields (all optional)
- Click the "AR Marker" button in the toolbar: Compiles all shopfront images from the floor into a
.mindfile (MindAR format) - The
.mindfile is saved in the Center options asarMindFileUrl
The Companion App uses this data to recognize shopfronts in AR mode and display offers, events, and directional cues directly in the camera view.
Note: The AR fields are stored as additional JSON properties in the existing Waypoint.position field – no schema change, no data loss.
See Also
- SVG Structure & Wayfinding – Overview of all layers and conventions
- Illustrator Guide – General tips for exporting
- Premium AI Template – Technical details on AR navigation
Nutzungsstatistik: Seitenaufrufe werden anonymisiert erfasst. Im Umami-Dashboard nach diesem Pfad filtern: /en/centerplan/svg-routen