egorin: демо-раздел «Карта-лаборатория (GL)» — MapLibre GL, donut-кластеризация, 3D-здания, CARTO (порт benzrf/orbit-gps-mobile); главная карта = Leaflet+2ГИС везде; docs

This commit is contained in:
german
2026-07-09 14:01:17 +03:00
parent 010a5308f2
commit 27067d3d12
6 changed files with 274 additions and 37 deletions
+21
View File
@@ -0,0 +1,21 @@
# Карта: GL-рендер по референсу benzrf.ru (кластеризация + donut + 3D)
Портирован рендер-подход benzrf.ru из прототипа `prototypes/orbit-gps-mobile.html` в React.
## Модули
- **`src/modules/gps/MapClusterGL.tsx`** — карта MapLibre GL: GeoJSON-источник с
`cluster:true` + `clusterProperties` (статусы), **donut-кластеры** (SVG), пины со
статус-цветом, экспандинг кластера по клику, подложка **2ГИС** + OpenFreeMap для 3D,
**3D-здания** (fill-extrusion).
- **`src/modules/gps/MapLabModule.tsx`** — демо-раздел **«Карта-лаборатория (GL)»**
(маршрут `/map-lab`): карта + тумблер 3D + легенда статусов, данные из `useGpsData`.
## Статусы → цвет
moving `#3fd06b` · parked/норма `#f4b740` · offline `#7d94a3` · alarm (ТП) `#ef4444`.
## Смысл
Основная карта = Leaflet (DOM-маркеры). GL-рендер (GPU + кластеризация) — плавно при
сотнях объектов и длинных треках. Демо-раздел показывает подход, не трогая рабочий
GPS-раздел. Дальнейшее: треки на line-слои с градиентом, полная миграция.
Прод: `https://egorin.r.servaki.online/map-lab`.