CmWorld 2D Maps API

지도

기본예제

레이어 추가

다양한 오픈 지도

기타

GIS 컨트롤(툴바)

지도 확대/축소 컨트롤

지도 확대/축소 슬라이더

그림도구 컨트롤

거리계산

면적계산

색인지도

스케일바

마우스 위치 표시

GIS 동작 이벤트

마우스 이벤트

확대 이벤트

컨트롤 이벤트

객체

마커

라인

사각형

다각형

이미지 추가

객체 정보보기

객체 보이기/숨기기

벡터레이어 (CmWorldLayer)

벡터레이어 추가 (시도경계)

대용량 레이어

레이어 보이기/숨기기

벡터 스타일 설정

다양한 파일 지원

파일 불러오기

파일 저장하기

Sample다양한 파일 지원 파일 불러오기KMZ 불러오기

KMZ 불러오기

구글 어스, 구글 지도에 사용하는 KMZ 파일을 업로드하여 도형객체를 지도위에 가시화 합니다.
사용하는 라이브러리는 KML.js, KMZ.js, zip.js 입니다.

javascript

// 업로드한 kml 파일을 실행하여 지도 위에 가시화 하는 함수 입니다
function openKML(url, bZoom){  
	// kmz 는 바이너리 파일 이므로 압축 파일 해제를 실행합니다
	if (!zip.workerScriptsPath){
		zip.workerScriptsPath = '/cmworld2d/resources/lib/zip/';
	}   	
		   
	if (!_xml){      
		// xml 태그로 구성된 kmz 파일을 로드합니다
		_xml = {_str2xml : function(strXML){
			if (window.ActiveXObject) 
			{  
				var doc=new ActiveXObject('Microsoft.XMLDOM');
				doc.async='false';
				doc.loadXML(strXML);
			}  
			// code for Mozilla, Firefox, Opera, etc.       
			else     
			{  
				var parser=new DOMParser();
				var doc=parser.parseFromString(strXML,'text/xml');
			}// documentElement always represents the root node
			return doc;
			}, _xml2string : function(xmlDom){
				var strs = null;
				var doc = xmlDom.documentElement;
				if(doc.xml == undefined){       
					strs = (new XMLSerializer()).serializeToString(xmlDom);
				}else strs = doc.xml;
				return strs;
				}
			};
	}      
		   
	var ext = /[^.]+$/.exec(url);
	var fname = url.substring(url.lastIndexOf('/')+1).replace('.'+ext,'');
	
	// kmz 객체를 생성합니다
	var thisKMZ= new L.KMZ(url,{ 	
			imageOverlayBoundingBoxCreatePopUp: true,     
			imageOverlayBoundingBoxDrawOptions: {	stroke: false,     
			weight: 1,    
			fillOpacity: 0.0,   
			clickable: true}    
	}, ext[0]);
	
	// kmz 객체를 지도위에 추가합니다
	thisKMZ.addTo(mymap);
		   
	// kmz 객체가 지도위에 로드 되었을 때 발생하는 이벤트입니다
	thisKMZ.on('loaded',function(e){   
		// kmz 의 좌표값
		var mbr = thisKMZ.getBounds();
 
		if (bZoom != false){
			bZoom = true;
		}
		
		if (bZoom) {
			// 지도영역에 kmz 의 좌표값을 설정합니다
			mymap.fitBounds(mbr);
		}
	});
}
License지원브라우저Tel: 02-578-5101E-mail: master@cmworld.co.kr

© 2017. CmWorld INC all right reserved.