Maurice
870bd6131f
feat(journey): draw the trips' GPX tracks on the journey map ( #1911 )
...
* feat(journey): serve the GPX tracks behind a journey
A journey has no trip of its own, but every entry records the trip it came from,
and a trip's routed geometries live on its places. So the tracks are derivable
without any new storage: GET /journeys/:id/tracks walks that link and returns the
geometries, dropping elevation nothing on the map reads and skipping anything
that is not a usable line.
* feat(journey): draw those tracks on the journey map
Both renderers, Leaflet and GL, plus the mobile map-timeline that shares them.
Solid and in the track's own colour with a white casing, so it reads as a
recorded route rather than as the dashed line that merely connects entries in
time order, and stays legible on satellite tiles.
* feat(journey): load the tracks alongside the journey
Fetched separately from the journey itself: most journeys have no tracks, and a
failed lookup should cost the map its lines rather than the whole page.
* docs(journey): document the GPX tracks on the map
* fix(journey): label tracks with the house map tooltip
bindTooltip's default box ignores the appearance tokens, so it sat there in
Leaflet grey next to markers already using .map-tooltip. Same class now, and an
unnamed track gets no tooltip at all instead of an empty one.
2026-08-12 15:14:50 +02:00
..
2026-08-07 21:07:14 +02:00
2026-08-07 22:18:14 +02:00
2026-08-10 19:54:46 +02:00
2026-08-07 16:00:12 +02:00
2026-08-07 19:34:31 +02:00
2026-08-07 22:18:14 +02:00
2026-08-07 20:27:19 +02:00
2026-08-07 19:58:12 +02:00
2026-08-11 20:28:49 +02:00
2026-08-07 19:34:31 +02:00
2026-08-07 21:47:21 +02:00
2026-08-10 13:38:26 +02:00
2026-08-10 13:38:26 +02:00
2026-08-10 17:08:54 +02:00
2026-06-16 22:22:45 +02:00
2026-08-10 19:54:46 +02:00
2026-08-09 20:54:39 +02:00
2026-08-10 21:56:13 +02:00
2026-08-09 20:54:39 +02:00
2026-08-10 19:54:46 +02:00
2026-08-10 19:54:46 +02:00
2026-08-11 16:42:49 +02:00
2026-08-11 16:42:49 +02:00
2026-06-16 22:22:45 +02:00
2026-07-25 15:12:38 +02:00
2026-08-09 19:46:00 +02:00
2026-08-11 20:58:37 +02:00
2026-08-09 22:43:05 +02:00
2026-08-10 17:08:54 +02:00
2026-07-27 22:34:41 +02:00
2026-08-11 23:01:19 +02:00
2026-08-07 18:01:24 +02:00
2026-08-10 19:54:46 +02:00
2026-08-07 15:14:14 +02:00
2026-08-11 23:01:19 +02:00
2026-08-10 22:16:22 +02:00
2026-08-10 21:33:48 +02:00
2026-08-10 21:33:48 +02:00
2026-08-09 19:46:00 +02:00
2026-08-10 19:54:46 +02:00
2026-08-11 21:15:40 +02:00
2026-08-07 16:00:12 +02:00
2026-08-10 22:02:54 +02:00
2026-08-11 21:13:32 +02:00
2026-08-10 19:54:46 +02:00
2026-07-26 15:28:55 +02:00
2026-08-11 21:13:32 +02:00
2026-08-10 19:54:46 +02:00
2026-08-12 14:14:37 +02:00
2026-08-09 19:46:00 +02:00
2026-08-10 19:54:46 +02:00
2026-08-07 18:42:53 +02:00
2026-08-10 21:49:27 +02:00
2026-06-16 22:22:45 +02:00
2026-08-10 21:49:27 +02:00
2026-07-25 18:14:37 +02:00
2026-07-25 18:14:37 +02:00
2026-08-11 22:14:12 +02:00
2026-08-11 22:14:12 +02:00
2026-08-11 09:58:37 +02:00
2026-08-07 18:42:53 +02:00
2026-08-11 22:23:51 +02:00
2026-06-16 22:22:45 +02:00
2026-08-11 16:42:49 +02:00
2026-08-11 22:23:51 +02:00
2026-08-11 11:15:32 +02:00
2026-08-10 19:54:46 +02:00
2026-08-10 19:54:46 +02:00
2026-08-11 09:58:37 +02:00
2026-08-12 12:45:29 +02:00
2026-06-16 22:22:45 +02:00
2026-08-10 17:08:54 +02:00
2026-08-12 15:14:50 +02:00
2026-08-08 23:25:57 +02:00
2026-08-10 17:08:54 +02:00
2026-07-29 20:21:09 +02:00
2026-08-10 12:24:15 +02:00
2026-08-10 12:24:15 +02:00
2026-08-11 17:04:09 +02:00
2026-08-11 22:44:20 +02:00
2026-08-11 23:11:34 +02:00
2026-08-11 23:19:39 +02:00
2026-08-08 22:27:56 +02:00
2026-08-10 19:54:46 +02:00
2026-08-08 22:27:56 +02:00
2026-08-10 13:38:26 +02:00
2026-08-08 12:09:56 +02:00
2026-08-08 12:09:56 +02:00
2026-08-02 11:36:36 +02:00
2026-08-08 12:09:56 +02:00
2026-08-11 21:13:32 +02:00
2026-08-11 22:44:20 +02:00
2026-08-10 19:54:46 +02:00
2026-08-11 23:01:19 +02:00
2026-08-01 18:36:07 +02:00
2026-08-11 16:42:49 +02:00
2026-08-09 19:13:21 +02:00
2026-08-11 09:58:37 +02:00
2026-08-11 16:42:49 +02:00
2026-08-11 23:11:34 +02:00
2026-08-10 17:08:54 +02:00
2026-08-10 17:08:54 +02:00
2026-08-10 19:54:46 +02:00
2026-08-10 12:24:15 +02:00
2026-08-10 19:54:46 +02:00
2026-08-10 19:54:46 +02:00
2026-08-10 13:38:26 +02:00
2026-07-30 17:07:12 +02:00
2026-07-30 17:07:12 +02:00
2026-08-11 20:28:49 +02:00
2026-08-11 23:01:19 +02:00
2026-08-11 09:58:37 +02:00
2026-08-10 19:54:46 +02:00
2026-08-09 22:43:05 +02:00
2026-08-10 21:49:27 +02:00
2026-08-11 21:13:32 +02:00
2026-08-11 21:13:32 +02:00
2026-08-10 13:38:26 +02:00
2026-07-26 22:24:14 +02:00
2026-08-07 15:14:14 +02:00
2026-08-11 11:15:32 +02:00
2026-08-07 20:27:19 +02:00
2026-08-10 21:49:27 +02:00
2026-06-16 22:22:45 +02:00
2026-08-11 17:00:05 +02:00
2026-08-10 19:54:46 +02:00
2026-07-26 15:28:55 +02:00
2026-08-08 22:27:56 +02:00
2026-08-09 19:13:21 +02:00
2026-08-09 19:13:21 +02:00
2026-08-10 19:54:46 +02:00
2026-08-01 12:45:35 +02:00
2026-07-29 21:39:51 +02:00
2026-08-09 22:43:05 +02:00
2026-08-10 22:02:54 +02:00
2026-08-11 09:58:37 +02:00
2026-08-09 19:13:21 +02:00
2026-08-10 19:54:46 +02:00
2026-08-10 13:38:26 +02:00
2026-08-11 16:42:49 +02:00
2026-08-10 13:38:26 +02:00
2026-08-11 21:13:32 +02:00
2026-08-10 19:54:46 +02:00
2026-08-12 00:22:32 +02:00
2026-08-10 21:49:27 +02:00
2026-08-08 22:27:56 +02:00
2026-08-11 16:42:49 +02:00
2026-08-11 10:17:28 +02:00
2026-08-12 00:38:41 +02:00
2026-08-12 00:38:41 +02:00
2026-07-26 14:55:13 +02:00
2026-08-07 21:47:21 +02:00
2026-08-08 11:14:24 +02:00
2026-08-08 11:14:24 +02:00
2026-08-10 13:38:26 +02:00
2026-08-11 09:58:37 +02:00
2026-06-16 22:22:45 +02:00