이 예제에서는 다각형을 생성할 때 구성하는 좌표값을 좌표 배열의 배열로 설정하여 구멍난 다각형을 만드는 방법을 설명합니다.
var mapContainer = document.getElementById('map'), // 지도를 표시할 div
mapOption = {
center: new kakao.maps.LatLng(33.450701, 126.570667), // 지도의 중심좌표
level: 3 // 지도의 확대 레벨
};
// 지도를 표시할 div와 지도 옵션으로 지도를 생성합니다
var map = new kakao.maps.Map(mapContainer, mapOption);
// 다각형 객체를 구성할 좌표배열입니다
var path = [
new kakao.maps.LatLng(33.45086654081833, 126.56906858718982),
new kakao.maps.LatLng(33.45010890948828, 126.56898629127468),
new kakao.maps.LatLng(33.44979857909499, 126.57049357211622),
new kakao.maps.LatLng(33.450137483918496, 126.57202991943016),
new kakao.maps.LatLng(33.450706188506054, 126.57223147947938),
new kakao.maps.LatLng(33.45164068091554, 126.5713126693152)
];
var hole = [
new kakao.maps.LatLng(33.4506262491095, 126.56997323165163),
new kakao.maps.LatLng(33.45029422800042, 126.57042659659218),
new kakao.maps.LatLng(33.45032339792896, 126.5710395101452),
new kakao.maps.LatLng(33.450622037218295, 126.57136070280123),
new kakao.maps.LatLng(33.450964416902046, 126.57129448564594),
new kakao.maps.LatLng(33.4510527150534, 126.57075627706975)
];
// 다각형을 생성하고 지도에 표시합니다
var polygon = new kakao.maps.Polygon({
map: map,
path: [path, hole], // 좌표 배열의 배열로 하나의 다각형을 표시할 수 있습니다
strokeWeight: 2,
strokeColor: '#b26bb2',
strokeOpacity: 0.8,
fillColor: '#f9f',
fillOpacity: 0.7
});
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>구멍난 다각형 만들기</title>
</head>
<body>
<div id="map" style="width:100%;height:350px;"></div>
<script type="text/javascript" src="//dapi.kakao.com/v2/maps/sdk.js?appkey=발급받은 APP KEY를 사용하세요"></script>
<script>
var mapContainer = document.getElementById('map'), // 지도를 표시할 div
mapOption = {
center: new kakao.maps.LatLng(33.450701, 126.570667), // 지도의 중심좌표
level: 3 // 지도의 확대 레벨
};
// 지도를 표시할 div와 지도 옵션으로 지도를 생성합니다
var map = new kakao.maps.Map(mapContainer, mapOption);
// 다각형 객체를 구성할 좌표배열입니다
var path = [
new kakao.maps.LatLng(33.45086654081833, 126.56906858718982),
new kakao.maps.LatLng(33.45010890948828, 126.56898629127468),
new kakao.maps.LatLng(33.44979857909499, 126.57049357211622),
new kakao.maps.LatLng(33.450137483918496, 126.57202991943016),
new kakao.maps.LatLng(33.450706188506054, 126.57223147947938),
new kakao.maps.LatLng(33.45164068091554, 126.5713126693152)
];
var hole = [
new kakao.maps.LatLng(33.4506262491095, 126.56997323165163),
new kakao.maps.LatLng(33.45029422800042, 126.57042659659218),
new kakao.maps.LatLng(33.45032339792896, 126.5710395101452),
new kakao.maps.LatLng(33.450622037218295, 126.57136070280123),
new kakao.maps.LatLng(33.450964416902046, 126.57129448564594),
new kakao.maps.LatLng(33.4510527150534, 126.57075627706975)
];
// 다각형을 생성하고 지도에 표시합니다
var polygon = new kakao.maps.Polygon({
map: map,
path: [path, hole], // 좌표 배열의 배열로 하나의 다각형을 표시할 수 있습니다
strokeWeight: 2,
strokeColor: '#b26bb2',
strokeOpacity: 0.8,
fillColor: '#f9f',
fillOpacity: 0.7
});
</script>
</body>
</html>