Maurice
7f2a63e7f7
feat(maps): search places through the TREK Places API
...
Adds a provider for the project's own place index and puts it in front of
the existing ones for search, autocomplete, details and the explore pills.
It needs no key, has no quota, and what it returns may be stored, which is
true of neither of the two providers it sits in front of.
Nothing about the Google path changes. Every call site falls through to
exactly what it did before when the index has no answer or the service is
unreachable, so a working search keeps working.
Two details worth knowing while reading:
- Details for a place from the index also resolve its OpenStreetMap record
by name and coordinate, because the index has no opening hours yet and
never has cuisine or a menu link. Without that the hours a user saw while
adding a place vanished from its card afterwards.
- The explore pills keep reporting source 'openstreetmap'. It is a typed
contract the client switches on, and the places are the same places.
TREK_PLACES_URL points at a different instance; unset means the public one.
2026-09-07 14:05:33 +02:00
..
2026-08-07 21:07:14 +02:00
2026-08-07 22:18:14 +02:00
2026-09-06 15:03:13 +02:00
2026-08-07 16:00:12 +02:00
2026-09-06 15:03:13 +02:00
2026-08-22 11:33:55 +02:00
2026-08-22 11:33:55 +02:00
2026-08-07 19:58:12 +02:00
2026-08-17 14:48:23 +02:00
2026-08-22 11:33:55 +02:00
2026-08-11 20:28:49 +02:00
2026-08-23 11:59:12 +02:00
2026-09-01 17:18:10 +02:00
2026-08-13 14:06:35 +02:00
2026-08-13 14:06:35 +02:00
2026-08-10 17:08:54 +02:00
2026-06-16 22:22:45 +02:00
2026-09-07 09:01:56 +02:00
2026-08-15 16:42:27 +02:00
2026-08-15 16:42:27 +02:00
2026-08-09 20:54:39 +02:00
2026-08-10 19:54:46 +02:00
2026-09-07 09:01:56 +02:00
2026-09-01 16:19:21 +02:00
2026-08-22 11:33:55 +02:00
2026-06-16 22:22:45 +02:00
2026-07-25 15:12:38 +02:00
2026-09-01 17:18:10 +02:00
2026-09-01 17:18:10 +02:00
2026-08-17 14:48:23 +02:00
2026-08-13 14:06:35 +02:00
2026-08-28 20:11:28 +02:00
2026-07-27 22:34:41 +02:00
2026-08-23 11:59:12 +02:00
2026-09-01 17:18:10 +02:00
2026-08-28 15:23:05 +02:00
2026-08-07 15:14:14 +02:00
2026-09-02 21:06:51 +02:00
2026-08-22 11:33:55 +02:00
2026-08-22 11:33:55 +02:00
2026-08-22 11:33:55 +02:00
2026-08-09 19:46:00 +02:00
2026-09-04 12:15:38 +02:00
2026-09-04 19:08:15 +02:00
2026-08-16 23:17:50 +02:00
2026-08-22 11:33:55 +02:00
2026-09-02 21:06:51 +02:00
2026-08-10 19:54:46 +02:00
2026-07-26 15:28:55 +02:00
2026-09-06 15:02:58 +02:00
2026-08-10 19:54:46 +02:00
2026-08-12 14:14:37 +02:00
2026-08-27 12:03:04 +02:00
2026-09-06 15:02:58 +02:00
2026-08-22 11:33:55 +02:00
2026-08-29 16:04:36 +02:00
2026-08-25 19:26:38 +02:00
2026-06-16 22:22:45 +02:00
2026-09-01 17:18:10 +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-08-22 11:33:55 +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-09-01 17:18:10 +02:00
2026-08-23 11:59:12 +02:00
2026-08-11 09:58:37 +02:00
2026-09-07 09:01:56 +02:00
2026-09-01 17:18:10 +02:00
2026-08-23 11:59:12 +02:00
2026-08-22 11:33:55 +02:00
2026-08-23 11:59:12 +02:00
2026-09-03 10:47:08 +02:00
2026-09-02 21:06:42 +02:00
2026-08-20 15:43:27 +02:00
2026-09-03 10:47:08 +02:00
2026-09-03 10:47:08 +02:00
2026-08-23 11:59:12 +02:00
2026-09-03 13:59:39 +02:00
2026-08-15 16:42:27 +02:00
2026-08-15 16:42:27 +02:00
2026-08-27 12:06:55 +02:00
2026-08-15 16:42:27 +02:00
2026-08-15 16:42:27 +02:00
2026-08-22 11:33:55 +02:00
2026-08-10 12:24:15 +02:00
2026-08-10 12:24:15 +02:00
2026-08-23 11:59:12 +02:00
2026-08-11 22:44:20 +02:00
2026-08-11 23:11:34 +02:00
2026-08-23 11:59:12 +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-22 11:33:55 +02:00
2026-09-06 15:02:58 +02:00
2026-09-06 15:02:58 +02:00
2026-08-08 12:09:56 +02:00
2026-09-06 15:02:58 +02:00
2026-09-04 12:15:53 +02:00
2026-09-04 12:15:53 +02:00
2026-08-23 11:59:12 +02:00
2026-09-04 12:15:53 +02:00
2026-08-15 16:42:27 +02:00
2026-08-15 22:48:03 +02:00
2026-08-28 20:11:28 +02:00
2026-09-02 16:21:50 +02:00
2026-09-02 16:21:50 +02:00
2026-09-02 21:06:51 +02:00
2026-08-23 11:59:12 +02:00
2026-08-23 11:59:12 +02:00
2026-08-10 17:08:54 +02:00
2026-08-22 11:33:55 +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-23 11:59:12 +02:00
2026-09-01 17:18:10 +02:00
2026-07-30 17:07:12 +02:00
2026-08-12 17:43:22 +02:00
2026-08-29 12:22:46 +02:00
2026-08-22 11:33:55 +02:00
2026-08-28 15:23:05 +02:00
2026-08-28 15:23:05 +02:00
2026-08-28 15:23:05 +02:00
2026-08-23 11:59:12 +02:00
2026-08-19 23:36:42 +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-23 11:59:12 +02:00
2026-09-04 19:08:15 +02:00
2026-08-23 11:59:12 +02:00
2026-08-15 22:48:16 +02:00
2026-08-15 16:42:27 +02:00
2026-08-27 12:06:55 +02:00
2026-08-22 11:33:55 +02:00
2026-08-28 14:25:08 +02:00
2026-09-02 21:06:42 +02:00
2026-08-25 19:26:38 +02:00
2026-08-10 21:49:27 +02:00
2026-06-16 22:22:45 +02:00
2026-08-15 16:42:27 +02:00
2026-08-10 19:54:46 +02:00
2026-07-26 15:28:55 +02:00
2026-08-22 11:33:55 +02:00
2026-08-09 19:13:21 +02:00
2026-08-16 23:17:50 +02:00
2026-08-28 15:23:05 +02:00
2026-08-01 12:45:35 +02:00
2026-09-07 09:01:56 +02:00
2026-08-20 18:40:21 +02:00
2026-08-22 11:33:55 +02:00
2026-08-18 22:24:29 +02:00
2026-09-07 14:05:33 +02:00
2026-08-19 23:36:42 +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-27 12:03:04 +02:00
2026-09-01 17:18:10 +02:00
2026-08-28 14:25:08 +02:00
2026-09-01 16:19:21 +02:00
2026-08-11 16:42:49 +02:00
2026-08-22 11:33:55 +02:00
2026-08-12 00:38:41 +02:00
2026-08-28 20:11:28 +02:00
2026-08-23 11:59:12 +02:00
2026-08-15 16:42:27 +02:00
2026-08-18 22:24:29 +02:00
2026-09-01 17:18:10 +02:00
2026-08-23 11:59:12 +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