도형을 좀 더 쉽게 그릴 수 있는 Toolbox를 생성하고 지도에 표시합니다.
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 strokeColor = '#39f',
fillColor = '#cce6ff',
fillOpacity = 0.5,
hintStrokeStyle = 'dash';
var options = { // Drawing Manager를 생성할 때 사용할 옵션입니다
map: map, // Drawing Manager로 그리기 요소를 그릴 map 객체입니다
drawingMode: [
kakao.maps.Drawing.OverlayType.MARKER,
kakao.maps.Drawing.OverlayType.ARROW,
kakao.maps.Drawing.OverlayType.POLYLINE,
kakao.maps.Drawing.OverlayType.RECTANGLE,
kakao.maps.Drawing.OverlayType.CIRCLE,
kakao.maps.Drawing.OverlayType.ELLIPSE,
kakao.maps.Drawing.OverlayType.POLYGON
],
// 사용자에게 제공할 그리기 가이드 툴팁입니다
// 사용자에게 도형을 그릴때, 드래그할때, 수정할때 가이드 툴팁을 표시하도록 설정합니다
guideTooltip: ['draw', 'drag', 'edit'],
markerOptions: {
draggable: true,
removable: true
},
arrowOptions: {
draggable: true,
removable: true,
strokeColor: strokeColor,
hintStrokeStyle: hintStrokeStyle
},
polylineOptions: {
draggable: true,
removable: true,
strokeColor: strokeColor,
hintStrokeStyle: hintStrokeStyle
},
rectangleOptions: {
draggable: true,
removable: true,
strokeColor: strokeColor,
fillColor: fillColor,
fillOpacity: fillOpacity
},
circleOptions: {
draggable: true,
removable: true,
strokeColor: strokeColor,
fillColor: fillColor,
fillOpacity: fillOpacity
},
ellipseOptions: {
draggable: true,
removable: true,
strokeColor: strokeColor,
fillColor: fillColor,
fillOpacity: fillOpacity
},
polygonOptions: {
draggable: true,
removable: true,
strokeColor: strokeColor,
fillColor: fillColor,
fillOpacity: fillOpacity
}
};
// 위에 작성한 옵션으로 Drawing Manager를 생성합니다
var manager = new kakao.maps.Drawing.DrawingManager(options);
// Toolbox를 생성합니다.
// Toolbox 생성 시 위에서 생성한 DrawingManager 객체를 설정합니다.
// DrawingManager 객체를 꼭 설정해야만 그리기 모드와 매니저의 상태를 툴박스에 설정할 수 있습니다.
var toolbox = new kakao.maps.Drawing.Toolbox({drawingManager: manager});
// 지도 위에 Toolbox를 표시합니다
// kakao.maps.ControlPosition은 컨트롤이 표시될 위치를 정의하는데 TOP은 위 가운데를 의미합니다.
map.addControl(toolbox.getElement(), kakao.maps.ControlPosition.TOP);
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Toolbox 사용하기</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를 사용하세요&libraries=drawing"></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 strokeColor = '#39f',
fillColor = '#cce6ff',
fillOpacity = 0.5,
hintStrokeStyle = 'dash';
var options = { // Drawing Manager를 생성할 때 사용할 옵션입니다
map: map, // Drawing Manager로 그리기 요소를 그릴 map 객체입니다
drawingMode: [
kakao.maps.Drawing.OverlayType.MARKER,
kakao.maps.Drawing.OverlayType.ARROW,
kakao.maps.Drawing.OverlayType.POLYLINE,
kakao.maps.Drawing.OverlayType.RECTANGLE,
kakao.maps.Drawing.OverlayType.CIRCLE,
kakao.maps.Drawing.OverlayType.ELLIPSE,
kakao.maps.Drawing.OverlayType.POLYGON
],
// 사용자에게 제공할 그리기 가이드 툴팁입니다
// 사용자에게 도형을 그릴때, 드래그할때, 수정할때 가이드 툴팁을 표시하도록 설정합니다
guideTooltip: ['draw', 'drag', 'edit'],
markerOptions: {
draggable: true,
removable: true
},
arrowOptions: {
draggable: true,
removable: true,
strokeColor: strokeColor,
hintStrokeStyle: hintStrokeStyle
},
polylineOptions: {
draggable: true,
removable: true,
strokeColor: strokeColor,
hintStrokeStyle: hintStrokeStyle
},
rectangleOptions: {
draggable: true,
removable: true,
strokeColor: strokeColor,
fillColor: fillColor,
fillOpacity: fillOpacity
},
circleOptions: {
draggable: true,
removable: true,
strokeColor: strokeColor,
fillColor: fillColor,
fillOpacity: fillOpacity
},
ellipseOptions: {
draggable: true,
removable: true,
strokeColor: strokeColor,
fillColor: fillColor,
fillOpacity: fillOpacity
},
polygonOptions: {
draggable: true,
removable: true,
strokeColor: strokeColor,
fillColor: fillColor,
fillOpacity: fillOpacity
}
};
// 위에 작성한 옵션으로 Drawing Manager를 생성합니다
var manager = new kakao.maps.Drawing.DrawingManager(options);
// Toolbox를 생성합니다.
// Toolbox 생성 시 위에서 생성한 DrawingManager 객체를 설정합니다.
// DrawingManager 객체를 꼭 설정해야만 그리기 모드와 매니저의 상태를 툴박스에 설정할 수 있습니다.
var toolbox = new kakao.maps.Drawing.Toolbox({drawingManager: manager});
// 지도 위에 Toolbox를 표시합니다
// kakao.maps.ControlPosition은 컨트롤이 표시될 위치를 정의하는데 TOP은 위 가운데를 의미합니다.
map.addControl(toolbox.getElement(), kakao.maps.ControlPosition.TOP);
</script>
</body>
</html>