feat(map): add reference layers and stabilize workspace controls

This commit is contained in:
Codex
2026-07-25 13:12:24 +03:00
parent c859ae4db0
commit eaecce9f56
29 changed files with 1593 additions and 247 deletions
+160 -4
View File
@@ -3,7 +3,7 @@
"profiles": [
{
"id": "map.moving-object.operational.default",
"version": "1.3.0",
"version": "1.4.0",
"title": "Флот",
"semanticTypes": ["map.moving_object"],
"label": {
@@ -13,7 +13,7 @@
"sizePx": 18,
"color": "#f5f5f5",
"outlineColor": "#0c0d12",
"outlineWidthPx": 1,
"outlineWidthPx": 0,
"backgroundColor": "#0c0d12",
"backgroundOpacity": 0.86,
"paddingX": 8,
@@ -30,7 +30,7 @@
"stemWidthPx": 5,
"outlineColor": "#0c0d12",
"outlineOpacity": 0.6,
"outlineWidthPx": 1,
"outlineWidthPx": 0,
"hideCameraHeightMeters": 100000
},
"facets": [
@@ -115,7 +115,7 @@
"sizePx": 14,
"color": "#f5f5f5",
"outlineColor": "#0c0d12",
"outlineWidthPx": 1,
"outlineWidthPx": 0,
"backgroundColor": "#0c0d12",
"backgroundOpacity": 0.82,
"paddingX": 8,
@@ -193,6 +193,162 @@
{ "field": "geometry_kind", "order": ["polygon", "circle", "corridor"] },
{ "field": "source_kind", "order": ["live_api", "versioned_snapshot"] }
]
},
{
"id": "map.reference.transport.metro.v1",
"version": "1.2.0",
"title": "Метро",
"semanticTypes": ["map.station"],
"label": {
"mode": "attributes",
"fields": ["name", "official_name", "local_name"],
"fontWeight": 600,
"sizePx": 20,
"color": "#cccccc",
"outlineColor": "#0c0d12",
"outlineWidthPx": 0,
"backgroundColor": "#000000",
"backgroundOpacity": 1,
"paddingX": 6,
"paddingY": 3,
"maxLength": 80,
"offsetX": 15,
"offsetY": 0,
"hideCameraHeightMeters": 10000
},
"target": {
"variant": "elevated-spike",
"stemHeightMeters": 500,
"headSizePx": 20,
"stemWidthPx": 2,
"outlineColor": "#ff00c8",
"outlineOpacity": 1,
"outlineWidthPx": 2,
"hideCameraHeightMeters": 10000
},
"facets": [{
"id": "category",
"field": "category",
"label": "Категория",
"filterable": false,
"counter": false,
"values": [{ "value": "metro", "label": "Метро", "order": 0 }]
}],
"styles": [{ "id": "reference", "color": "#ffffff", "opacity": 1 }],
"classes": [{
"id": "metro",
"label": "Метро",
"priority": 100,
"match": [{ "field": "category", "equals": "metro" }],
"styleId": "reference",
"renderable": true
}],
"defaultClassId": "metro",
"sort": [{ "field": "category", "order": ["metro"] }]
},
{
"id": "map.reference.transport.terminal.v1",
"version": "1.2.0",
"title": "Вокзалы",
"semanticTypes": ["map.terminal"],
"label": {
"mode": "attributes",
"fields": ["name", "official_name", "local_name"],
"fontWeight": 600,
"sizePx": 20,
"color": "#cccccc",
"outlineColor": "#0c0d12",
"outlineWidthPx": 0,
"backgroundColor": "#000000",
"backgroundOpacity": 1,
"paddingX": 6,
"paddingY": 3,
"maxLength": 80,
"offsetX": 15,
"offsetY": 0,
"hideCameraHeightMeters": 35000
},
"target": {
"variant": "elevated-spike",
"stemHeightMeters": 500,
"headSizePx": 20,
"stemWidthPx": 2,
"outlineColor": "#ff00c8",
"outlineOpacity": 1,
"outlineWidthPx": 2,
"hideCameraHeightMeters": 35000
},
"facets": [{
"id": "category",
"field": "category",
"label": "Категория",
"filterable": false,
"counter": false,
"values": [{ "value": "railway_terminal", "label": "Вокзалы", "order": 0 }]
}],
"styles": [{ "id": "reference", "color": "#ffffff", "opacity": 1 }],
"classes": [{
"id": "railway_terminal",
"label": "Вокзалы",
"priority": 100,
"match": [{ "field": "category", "equals": "railway_terminal" }],
"styleId": "reference",
"renderable": true
}],
"defaultClassId": "railway_terminal",
"sort": [{ "field": "category", "order": ["railway_terminal"] }]
},
{
"id": "map.reference.transport.railway-station.v1",
"version": "1.2.0",
"title": "Станции РЖД",
"semanticTypes": ["map.station"],
"label": {
"mode": "attributes",
"fields": ["name", "official_name", "local_name"],
"fontWeight": 600,
"sizePx": 20,
"color": "#cccccc",
"outlineColor": "#0c0d12",
"outlineWidthPx": 0,
"backgroundColor": "#000000",
"backgroundOpacity": 1,
"paddingX": 6,
"paddingY": 3,
"maxLength": 80,
"offsetX": 15,
"offsetY": 0,
"hideCameraHeightMeters": 15000
},
"target": {
"variant": "elevated-spike",
"stemHeightMeters": 500,
"headSizePx": 20,
"stemWidthPx": 2,
"outlineColor": "#ff00c8",
"outlineOpacity": 1,
"outlineWidthPx": 2,
"hideCameraHeightMeters": 15000
},
"facets": [{
"id": "category",
"field": "category",
"label": "Категория",
"filterable": false,
"counter": false,
"values": [{ "value": "railway_station", "label": "Станции РЖД", "order": 0 }]
}],
"styles": [{ "id": "reference", "color": "#ffffff", "opacity": 1 }],
"classes": [{
"id": "railway_station",
"label": "Станции РЖД",
"priority": 100,
"match": [{ "field": "category", "equals": "railway_station" }],
"styleId": "reference",
"renderable": true
}],
"defaultClassId": "railway_station",
"sort": [{ "field": "category", "order": ["railway_station"] }]
}
]
}