정보 창
마커를 클릭하면 정보 창이 토글되는 예제입니다.
코드 보기
import { useState } from 'react';
import {
NavermapsProvider,
Container as MapDiv,
NaverMap,
Marker,
InfoWindow,
useNavermaps,
} from 'react-naver-maps';
function InfoWindowMapContent() {
const navermaps = useNavermaps();
const [open, setOpen] = useState(true);
return (
<NaverMap
defaultCenter={new navermaps.LatLng(37.5666805, 126.9784147)}
defaultZoom={15}
>
<Marker
position={new navermaps.LatLng(37.5666805, 126.9784147)}
onClick={() => setOpen((prev) => !prev)}
/>
{open && (
<InfoWindow
content="서울시청"
position={new navermaps.LatLng(37.5666805, 126.9784147)}
onClose={() => setOpen(false)}
/>
)}
</NaverMap>
);
}
function InfoWindowMap() {
return (
<MapDiv style={{ width: '100%', height: '400px' }}>
<InfoWindowMapContent />
</MapDiv>
);
}
export default function InfoWindowExample() {
return (
<NavermapsProvider ncpKeyId="aluya4ff04">
<InfoWindowMap />
</NavermapsProvider>
);
} 설명
InfoWindow의 content에 문자열을 전달하면 해당 텍스트가 정보 창에 표시됩니다. onClose 이벤트로 닫기를 감지할 수 있습니다.
마커를 클릭하면 정보 창이 열리고 닫힙니다.