도형 오버레이
Rectangle, Polygon, Polyline을 함께 표시하는 예제입니다.
코드 보기
import {
NavermapsProvider,
Container as MapDiv,
NaverMap,
Rectangle,
Polygon,
Polyline,
useNavermaps,
} from 'react-naver-maps';
const rectBounds = {
south: 37.56,
west: 126.97,
north: 37.57,
east: 126.98,
};
const polygonPaths = [
[
{ lat: 37.57, lng: 126.975 },
{ lat: 37.575, lng: 126.985 },
{ lat: 37.565, lng: 126.985 },
],
];
const polylinePath = [
{ lat: 37.555, lng: 126.97 },
{ lat: 37.56, lng: 126.975 },
{ lat: 37.555, lng: 126.98 },
{ lat: 37.56, lng: 126.985 },
];
function ShapesMapContent() {
const navermaps = useNavermaps();
return (
<NaverMap
defaultCenter={new navermaps.LatLng(37.565, 126.98)}
defaultZoom={13}
>
<Rectangle
bounds={rectBounds}
strokeColor="#FF0000"
strokeWeight={2}
fillColor="#FF0000"
fillOpacity={0.15}
/>
<Polygon
paths={polygonPaths}
strokeColor="#00AA00"
strokeWeight={2}
fillColor="#00FF00"
fillOpacity={0.15}
/>
<Polyline path={polylinePath} strokeColor="#0000FF" strokeWeight={3} />
</NaverMap>
);
}
function ShapesMap() {
return (
<MapDiv style={{ width: '100%', height: '400px' }}>
<ShapesMapContent />
</MapDiv>
);
}
export default function ShapesExample() {
return (
<NavermapsProvider ncpKeyId="aluya4ff04">
<ShapesMap />
</NavermapsProvider>
);
} 설명
- Rectangle:
bounds로 사각 영역을 지정합니다. - Polygon:
paths에 꼭짓점 좌표 배열을 전달합니다. - Polyline:
path에 경로 좌표를 전달합니다. 채움(fill) 없이 선만 그립니다.
모든 도형은 strokeColor, strokeWeight, fillColor, fillOpacity 등 공통 스타일 prop을 지원합니다.