Add smoothness, track type, cycleway, and bike route color modes

Four new route visualization modes extracted from BRouter WayTags:

- Smoothness: excellent (green) → impassable (dark red)
- Track Type: grade1 (green, best) → grade5 (red, worst)
- Cycleway: track/lane/shared_lane/no with direction awareness
- Bike Route: icn/ncn/rcn/lcn priority from route_bicycle_* tags

Each mode includes map polyline coloring, elevation chart coloring,
inline legend, hover label, i18n (EN+DE), and mock fixture data.

Dockerfile patched to also expose tracktype in BRouter WayTags
(smoothness, cycleway, and route_bicycle already present).

Dropdown order: plain, elevation, grade, surface, road type, speed
limit, smoothness, track type, cycleway, bike route.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Ullrich Schäfer 2026-04-11 09:58:25 +02:00
parent 768fa9df44
commit 6ec95216e1
No known key found for this signature in database
GPG key ID: A32FF691A0F752D9
9 changed files with 472 additions and 15 deletions

View file

@ -44,6 +44,22 @@ const MOCK_ROUTE_3WP = {
"30", "30", "unknown", "unknown", "unknown",
"unknown", "50", "50", "30", "30",
],
smoothnesses: [
"good", "good", "intermediate", "intermediate", "bad",
"bad", "good", "good", "excellent", "excellent",
],
tracktypes: [
"unknown", "unknown", "unknown", "unknown", "grade3",
"grade3", "unknown", "unknown", "unknown", "unknown",
],
cycleways: [
"lane", "lane", "track", "track", "unknown",
"unknown", "shared_lane", "shared_lane", "lane", "lane",
],
bikeroutes: [
"rcn", "rcn", "lcn", "lcn", "none",
"none", "ncn", "ncn", "rcn", "rcn",
],
};
/**
@ -83,6 +99,18 @@ const MOCK_ROUTE_2WP = {
maxspeeds: [
"50", "50", "unknown", "unknown", "30", "30",
],
smoothnesses: [
"good", "good", "intermediate", "bad", "good", "good",
],
tracktypes: [
"unknown", "unknown", "grade2", "grade4", "unknown", "unknown",
],
cycleways: [
"lane", "lane", "track", "no", "shared_lane", "shared_lane",
],
bikeroutes: [
"ncn", "ncn", "rcn", "none", "lcn", "lcn",
],
};
/**