fix: RoutePanel 정렬 방향 수정 (낮은km=위, 높은km=아래), 높이 80%, 겹침 간격 9%
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -245,21 +245,16 @@ export default function RoutePanel({ currentTime, visible, onSeek }: RoutePanelP
|
|||||||
];
|
];
|
||||||
const minKm = Math.min(...allKms);
|
const minKm = Math.min(...allKms);
|
||||||
const maxKm = Math.max(...allKms);
|
const maxKm = Math.max(...allKms);
|
||||||
const kmToY = (km: number) => (1 - (km - minKm) / (maxKm - minKm)) * 100;
|
const kmToY = (km: number) => ((km - minKm) / (maxKm - minKm)) * 100;
|
||||||
|
|
||||||
// 교량/터널만 표시
|
// 교량/터널만 표시
|
||||||
const filteredPois = pois.filter(p => p.category === '\uD130\uB110' || p.category === '\uAD50\uB7C9');
|
const filteredPois = pois.filter(p => p.category === '\uD130\uB110' || p.category === '\uAD50\uB7C9');
|
||||||
|
|
||||||
// 시점/종점 측점명
|
|
||||||
const sortedByKm = [...validStations].sort((a, b) => stationKm(a.title) - stationKm(b.title));
|
|
||||||
const startTitle = sortedByKm[0]?.title ?? '';
|
|
||||||
const endTitle = sortedByKm[sortedByKm.length - 1]?.title ?? '';
|
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div
|
<div
|
||||||
ref={panelRef}
|
ref={panelRef}
|
||||||
className="absolute left-0 w-28 border-r border-white/20 z-30"
|
className="absolute left-0 w-28 border-r border-white/20 z-30"
|
||||||
style={{ top: '5%', height: '90%', background: 'rgba(0,0,0,0.6)' }}
|
style={{ top: '8%', height: '80%', background: 'rgba(0,0,0,0.6)' }}
|
||||||
>
|
>
|
||||||
{/* Center vertical line */}
|
{/* Center vertical line */}
|
||||||
<div
|
<div
|
||||||
@@ -281,7 +276,7 @@ export default function RoutePanel({ currentTime, visible, onSeek }: RoutePanelP
|
|||||||
|
|
||||||
{/* 교량/터널 POIs — 겹침 방지: Y 간격 7% 미만이면 건너뜀 */}
|
{/* 교량/터널 POIs — 겹침 방지: Y 간격 7% 미만이면 건너뜀 */}
|
||||||
{(() => {
|
{(() => {
|
||||||
const MIN_GAP = 7; // %
|
const MIN_GAP = 9; // %
|
||||||
const placed: number[] = [];
|
const placed: number[] = [];
|
||||||
return filteredPois.map((poi, i) => {
|
return filteredPois.map((poi, i) => {
|
||||||
const km = poiKm(poi, validStations);
|
const km = poiKm(poi, validStations);
|
||||||
@@ -323,8 +318,8 @@ export default function RoutePanel({ currentTime, visible, onSeek }: RoutePanelP
|
|||||||
style={{
|
style={{
|
||||||
left: 30,
|
left: 30,
|
||||||
right: 4,
|
right: 4,
|
||||||
top: `${kmToY(visibleRange.maxKm)}%`,
|
top: `${kmToY(visibleRange.minKm)}%`,
|
||||||
bottom: `${100 - kmToY(visibleRange.minKm)}%`,
|
bottom: `${100 - kmToY(visibleRange.maxKm)}%`,
|
||||||
border: '1px solid rgba(74,222,128,0.7)',
|
border: '1px solid rgba(74,222,128,0.7)',
|
||||||
background: 'rgba(74,222,128,0.08)',
|
background: 'rgba(74,222,128,0.08)',
|
||||||
}}
|
}}
|
||||||
|
|||||||
Reference in New Issue
Block a user