import { useControl } from '@vis.gl/react-maplibre'; import { MapboxOverlay } from '@deck.gl/mapbox'; import type { Layer } from '@deck.gl/core'; interface DeckGLOverlayProps { // eslint-disable-next-line @typescript-eslint/no-explicit-any layers: Layer[]; } /** deck.gl 레이어를 MapLibre에 interleaved 방식으로 통합하는 공통 컴포넌트. * 반드시 자식으로 사용해야 한다. */ export function DeckGLOverlay({ layers }: DeckGLOverlayProps) { const overlay = useControl(() => new MapboxOverlay({ interleaved: true })); overlay.setProps({ layers }); return null; }