D2Map API User Reference Guide v1.0.0
개요
D2Map API는 편리한 웹 상황도 개발을 지원하는 JavaScript API를 정의하고 있다.
D2Map API는 지도관리, 좌표계관리, 좌표이동, 지명검색, 그리드(grid)관리, 측정관리, 지형분석관리, 화면저장, 상황도, Spatial Query, 투명도 작성/저장/불러오기, 투명도표준지원(MND-STD-0022), 한국군표준군대부호(MND-STD-2525C), 다양한 스타일 관리 등을 모두 지원한다.
메뉴 설명
- Search : 문서 내 검색
- Home : D2Map API 주요 기능 소개
- Classes : D2Map 클래스(생성자, 멤버함수, 예제소스) 소개
사용 방법
-
D2Map 엔진 선언
- d2map.min.js, d2map.min.css 파일 등을 html 파일에 선언
- 예 : index.html에 다음과 같이 선언한다.
//D2Map 엔진 내부에서 사용되는 CSS 선언 <link rel="stylesheet" href="src/lib/css/ol.css"> <link rel="stylesheet" href="src/lib/css/d2map.ui.css"> <link rel="stylesheet" href="src/lib/css/d2map.ui.editor.css"> <link rel="stylesheet" href="src/lib/css/d2map.ui.ms.popup.css"> <link rel="stylesheet" href="src/lib/css/zTreeStyle.css"> <link rel="stylesheet" href="src/lib/css/sub.dark.css"> //투명도 글상자 활용을 위한 경로 설정 <script> window.CKEDITOR_BASEPATH = '/src/lib/js/d2editor/'; let encoding = document.characterSet; if ( encoding !== "UTF-8") encoding = "UTF-8"; </script> //D2Map 엔진 선언 <script src="src/lib/js/d2map.min.js" charset=`${encoding}`></script>
-
D2Map API 호출
- D2Map API "D2.Core"를 최상위 전역 Name Space로 갖고 있다.
- API에서 정의한 객체 사용 시 method 앞에 "D2.Core"를 붙여서 사용해야 한다.
- 예 : 배경지도 서비스 구성, 지도 객체 및 투명도 레이어 생성 등은 다음과 같이 호출한다.
var ol = D2.Core.ol; // 대한민국 중심좌표를 초기 화면으로 설정 var olCenter = ol.proj.fromLonLat([127.027583, 37.497928]); // ol 기반 window.map 객체 생성 window.map = new ol.Map({ controls: ol.control.defaults({ zoom: false, }), // 지도를 표시할 요소 ID target: 'map', layers: [ // 기본 지도 레이어 설정 (World Map) new ol.layer.Tile({ preload: Infinity, source: new ol.source.XYZ({ url: urlInfo.map.baseLayer, // 기본 지도 설정 - url은 사이트에 맞게 변경 crossOrigin: 'Anonymous', minZoom: 0, maxZoom: 10, }), }), ], view: new ol.View({ center: olCenter, zoom: 8, minZoom: 0, maxZoom: 17, }), interactions: ol.interaction.defaults({ //Interaction 정의 doubleClickZoom: false, altShiftDragRotate: false, shiftDragZoom: false, pinchRotate: false, pinchZoom: false, keyboard: false }) }); // URL 관리 모듈 생성 window.D2MapManager = new D2.Core.D2MapManager(); // 좌표 관리 모듈 생성 window.Coordinate = new Coordinate(window.D2MapManager.LAYER_TERRAIN_WINDOWS, true); window.Coordinate.setGt2Provider(window.D2MapManager.LAYER_TERRAIN_GT2, 0, 15); // 투명도 레이어 생성 window.graphic = new Graphic(map, new window.D2.Core.GraphicSelectObjectManager, new window.ICOPS.MSObjectCreator()); window.graphic.loadStdXSD(urlInfo.graphic.overlay); // 투명도 군대부호 Tree 생성 window.MilSymbol = new ICOPS.MilSymbol(window.graphic, urlInfo.D2MS); window.MilSymbol.initMilSymbolLang('d2map_tree-container');
- 상세한 내용은 관련 클래스를 참조한다.
-
OpenLayers API 호출
-
D2Map은 OpenLayers 6.4.3를 기반으로 엔진이 개발되어 있다.
-
OpenLayers 주요 객체는 "D2.Core"의 member로 설정되어 있어 직접 호출도 가능한다.
-
예 : ol/proj 모듈의 fromLonLat() 함수를 호출한다고 가정할 때, 다음과 같이 호출한다.
D2.Core.ol.proj.fromLonLat();
-
상세한 내용은 관련 클래스를 참조한다.
-