Map: dark-map toggle (invert tiles only), no repacking
A moon button on the recording, track-detail and roads maps inverts ONLY the tile layer: body.dark-map applies `invert(1) hue-rotate(180deg) brightness(1.5)` to .leaflet-tile-pane, so the track/route/roads/puck overlays keep their colours. Works the same on offline (tiles_*.db) and online tiles — no keys, quotas or tile repacking. The choice persists in localStorage (baldav_dark_map). Chosen after ruling out dark tile providers (CARTO/Thunderforest/2GIS/Yandex — keys/quotas/ToS/projection/RF-reachability) and the transport style (inverts badly in dense city); plain OSM inverted looks good city and countryside. Verified on device: filter on the tile pane only, overlay pane filter none, button active and remembered.
This commit is contained in:
parent
b40775c9d0
commit
5c23c4dda4
5 changed files with 90 additions and 0 deletions
|
|
@ -96,6 +96,39 @@ app data dir; профиль trekking (идея 2) и shortest (идея 1); л
|
|||
|
||||
---
|
||||
|
||||
## Stage 6 — POI-оверлеи на картах BalDav (АНАЛИЗ, вне BRouter, запрошено 2026-09-09)
|
||||
**Идея:** показывать OSM-объекты (amenity/shop/tourism) на картах BalDav — при трекинге и просмотре:
|
||||
ATM, банк, скамейка, туалеты, вода, кафе/бар/фастфуд/ресторан/паб, велопарковка/веломастерская,
|
||||
автобусная остановка, пекарня/супермаркет/кофе, смотровая, укрытие, пикник и т.д. (набор — как в
|
||||
brouter-web overlays, см. скрины). С фильтром категорий (тумблеры), иконки скачать и рисовать.
|
||||
**Что проанализировать перед реализацией:**
|
||||
- Источник данных POI ОФФЛАЙН: Overpass-выгрузка по региону (bbox ~100км вокруг город) в
|
||||
локальный стор (SQLite/JSON, как seed/tiles), т.к. сеть в поле недоступна. rd5 не годится как
|
||||
POI-хранилище. Обновление — по проводу с зеркала (как тайлы/сегменты).
|
||||
- Иконки: взять набор (напр. используемый brouter-web / maki / OSM-carto sprites), лицензия,
|
||||
положить в assets, рисовать как Leaflet divIcon/marker с кластеризацией на низком зуме (перф).
|
||||
- UI: панель категорий с чекбоксами (как в brouter-web), сохранение выбора (localStorage),
|
||||
z-order (POI над тайлами/дорогами, под треком/паком).
|
||||
- Перф: сотни-тысячи точек — кластеризация/культинг по зуму и bbox видимой области.
|
||||
**Статус:** not started (анализ).
|
||||
|
||||
## Stage 7 — Тёмные тайлы карты в BalDav (запрошено 2026-09-09)
|
||||
**Идея:** заменить фон OSM на тёмный (пользователю нравится ÖPNV, но хочет тёмное). ВАЖНО (проверено
|
||||
2026-09-09): хорошего тёмного растра БЕЗ ключа сейчас нет — CARTO Dark теперь тоже требует ключ
|
||||
(без ключа отдаёт тайлы с ватермаркой "API KEY REQUIRED"). Кандидаты: Thunderforest Transport Dark
|
||||
(ÖPNV-стиль тёмный, ближе всего к желаемому — бесплатный ключ), CARTO Dark (ключ), Stadia (ключ);
|
||||
без ключа и чисто — только светлые (ÖPNVKarte/OpenTopoMap/OSM) или спутник Esri. Источник в
|
||||
`frontend/js/tilecache.js` хардкодом
|
||||
`https://a.tile.openstreetmap.org/{z}/{x}/{y}.png` (3 места); оффлайн-тайлы — в `tiles_*.db` (OSM).
|
||||
**РЕШЕНО (2026-09-09): живой CSS-фильтр, без перепаковки.** Провайдеров тёмных тайлов (CARTO/
|
||||
Thunderforest/2GIS/Yandex) отмели — ключи/квоты/ToS/проекция/недоступность в РФ. Транспортная карта
|
||||
инвертом плохо (город). ПОБЕДИЛО: OSM-стандарт (те тайлы, что уже есть) + фильтр
|
||||
`invert(1) hue-rotate(180deg) brightness(1.5)` на `.leaflet-tile-pane` — достойно и в городе, и на селе.
|
||||
Реализация: класс `body.dark-map` + одно CSS-правило (только слой тайлов, оверлеи цветные), тумблер
|
||||
`☾` на экранах записи/деталей трека/дорог (`toggleDarkMap`/`applyDarkMap`/`addDarkMapControl` в main.js),
|
||||
выбор в localStorage `baldav_dark_map`. Работает одинаково на оффлайн-БД и онлайне, без ключей/квот.
|
||||
**Статус:** DONE (проверено на устройстве: фильтр на тайлах, overlay `none`, кнопка активна, персист).
|
||||
|
||||
## Потенциальные проблемы
|
||||
- Desugaring/`java.lang.invoke` при dex — проверить сборку (AGP обычно тянет).
|
||||
- Размер/имена тайлов региона на brouter.de — уточнить при Stage 2.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue