22 lines
1.4 KiB
Markdown
22 lines
1.4 KiB
Markdown
# Карта: 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`.
|