diff --git a/frontend/src/tabs/aerial/components/SatelliteRequest.tsx b/frontend/src/tabs/aerial/components/SatelliteRequest.tsx index 7641a0c..bbcf9c2 100644 --- a/frontend/src/tabs/aerial/components/SatelliteRequest.tsx +++ b/frontend/src/tabs/aerial/components/SatelliteRequest.tsx @@ -2,7 +2,10 @@ import { useState, useRef, useEffect, useCallback } from 'react' import { Map, Source, Layer } from '@vis.gl/react-maplibre' import type { StyleSpecification } from 'maplibre-gl' import 'maplibre-gl/dist/maplibre-gl.css' +import { Marker } from '@vis.gl/react-maplibre' import { fetchSatellitePasses } from '../services/aerialApi' + +const VWORLD_API_KEY = import.meta.env.VITE_VWORLD_API_KEY || '' import type { SatellitePass } from '../services/aerialApi' interface SatRequest { @@ -433,26 +436,28 @@ export function SatelliteRequest() { ) })} - {/* 선택된 항목의 위성 영상 오버레이 (시뮬레이션) */} - {mapSelectedItem && mapSelectedItem.status === '완료' && (() => { + {/* 선택된 완료 항목: VWorld 위성 영상 오버레이 */} + {mapSelectedItem && mapSelectedItem.status === '완료' && VWORLD_API_KEY && ( + + + + )} + + {/* 선택된 항목 마커 + 팝업 */} + {mapSelectedItem && (() => { const coord = parseCoord(mapSelectedItem.zoneCoord) if (!coord) return null - const areaKm = parseFloat(mapSelectedItem.zoneArea) || 10 - const delta = Math.sqrt(areaKm) * 0.006 return ( - - - + +
+
📷
+
+
) })()}