feat(gps): мосты-предположения по дорогам между GPS-якорями на LBS-участках (OSRM route, пунктир)
This commit is contained in:
@@ -410,6 +410,14 @@ export function GpsRoutesTab() {
|
||||
})),
|
||||
...(colorizeEnabled ? speedSegments : []),
|
||||
...matchedLine,
|
||||
// Мосты-предположения по дорогам на LBS-участках — пунктир цветом объекта
|
||||
...(trackData?.bridges ?? []).map((b, idx) => ({
|
||||
id: `bridge-${idx}`,
|
||||
points: b.points,
|
||||
color: selectedAsset?.color || '#3b82f6',
|
||||
dashed: true,
|
||||
width: 3,
|
||||
})),
|
||||
];
|
||||
const mapMarkers: GpsMapMarker[] = [
|
||||
// Точки записи координат (стрелки курса для GPS-точек; LBS — полые серые
|
||||
@@ -561,6 +569,12 @@ export function GpsRoutesTab() {
|
||||
полый кружок — нет GPS (по вышкам)
|
||||
</span>
|
||||
)}
|
||||
{(trackData?.bridges?.length ?? 0) > 0 && (
|
||||
<span className="flex items-center gap-1">
|
||||
<span className="w-4 h-0.5" style={{ backgroundImage: 'linear-gradient(90deg,#3b82f6 55%,transparent 55%)', backgroundSize: '7px 2px' }} />
|
||||
пунктир — предполагаемый участок (нет GPS)
|
||||
</span>
|
||||
)}
|
||||
</div>
|
||||
)}
|
||||
|
||||
|
||||
@@ -80,6 +80,8 @@ export interface GpsTrackResponse {
|
||||
filteredCount?: number;
|
||||
/** Отсеяно LBS-мусорных точек (далеко от дороги) при выдаче */
|
||||
offroadFiltered?: number;
|
||||
/** Мосты-предположения по дорогам между GPS-якорями на LBS-участках (OSRM route) */
|
||||
bridges?: Array<{ points: Array<[number, number]>; distance: number }>;
|
||||
sampled: boolean;
|
||||
/** Линия трека по дорогам от OSRM (при ?matched=1); null — OSRM недоступен */
|
||||
matched?: { points: Array<[number, number]>; distance: number; duration: number } | null;
|
||||
|
||||
Reference in New Issue
Block a user