var v_protocol=''; var vworldUrl=''; var vworld2DCache=''; var vworldBaseMapUrl=''; var vworldStyledMapUrl=''; if(location.protocol == 'https:'){ v_protocol="https://"; vworldUrl='https://map.vworld.kr'; vworld2DCache='https://2d.vworld.kr/2DCache'; vworldBaseMapUrl='https://cdn.vworld.kr/2d'; vworldStyledMapUrl='https://2d.vworld.kr/stmap'; }else{ v_protocol="http://"; vworldUrl='https://map.vworld.kr'; vworld2DCache='http://2d.vworld.kr:8895/2DCache'; vworldBaseMapUrl='http://cdn.vworld.kr:8080/2d'; vworldStyledMapUrl='http://2d.vworld.kr:8895/stmap'; } var vworldIsValid = 'false'; var vworldErrMsg = '인증키 사용기간이 만료되었습니다.'; var vworldApiKey = '8B81E671-19BA-3C85-874E-A34A5FF8C282'; var vworld3DUrl = '/js/sopMapInit.js.do'; var vworldVers={OpenLayers:"2.13",Base:"service",Hybrid:"service",Satellite:"service",Gray:"service",Midnight:"service",White:"service",ServerMaxLevel:18},vworldTimes={times:["1950","1978","1989","1996","2006","2007"],types:["png","png","png","png","png","png"]};Array.indexOf||(Array.prototype.indexOf=function(e){for(var t=0;te);i++);},_popupView:function(e,t,i,o,s,n,r){var l=vworldFunc._GetElement(vworldIDs.idpanel).offsetWidth,a=vworldFunc._GetElement(vworldIDs.idpanel).offsetHeight,p=i+10,d=o+30,h="Safari"==vworldFunc._browserName();if(l0&&(i=s.shift()),""!=i){s.length>0&&(o=s[0]);var n=this._CreateElement("script");n.setAttribute("src",i),n.setAttribute("async","async"),n.onreadystatechange=function(){"loaded"!=n.readyState&&"complete"!=n.readyState||(""!=o?(n.onreadystatechange=null,vworldFunc._loadExtLibs(s,t)):t())},n.onload=function(){""!=o?(n.onload=null,vworldFunc._loadExtLibs(s,t)):t()},document.getElementsByTagName("head")[0].appendChild(n)}return!1},_parseURL:function(e){var t=vworldFunc._CreateElement("a");return t.href=e,{source:e,protocol:t.protocol.replace(":",""),host:t.hostname,port:t.port,query:t.search,path:t.pathname.replace(/^([^\/])/,"/$1")}}},vworldUtil={validSearchList:function(e){var t="",i=!1;if(e){if(null!=vearth){var o=vearth.getViewCamera().getDistance();for(l=vworldInfo.Layers3d.length-1;l>=0;l--){var s=vworldInfo.Layers3d[l].info;"LP_PA_CBND_BUBUN"==s.toUpperCase()?o<=860&&(t=t+s+","):s.toUpperCase()==vworldVar.bldglayer?o<=2e3&&(t=t+r[l]+","):t=t+s+","}o<=2e3&&(i=!0)}}else{for(var n=vmap.getZoom(),r=getServiceLayerList().split(","),l=0;l=17&&(t=t+r[l]+","):r[l].toUpperCase()==vworldVar.bldglayer?n>=16&&(t=t+r[l]+","):t=t+r[l]+",";n>=16&&(i=!0)}return i&&""==t&&(t=vworldVar.bldglayer),t},requestSearch:function(e,t,i,o,s,n,r,l,a){var p="검색좌표(lon):"+e;p+="\n검색좌표(lat):"+t,p+="\n검색픽셀(pixelX):"+i,p+="\n검색좌표(pixelY):"+o,p+="\n좌표계(projection):"+s,p+="\n검색대상(searchlist):"+n;try{if("string"!=typeof n||0==n.length)return;var d=1;"number"==typeof a&&(d=a);var h=null!=n?n:"",u=h.split(",");if("number"!=typeof e||"number"!=typeof t||"number"!=typeof i||"number"!=typeof o||"string"!=typeof n||0==u.length)return void alert("검색조건(인자)이 올바르지 않습니다. 확인 후 다시 시도하여 주십시오.\n\n"+p);vworldUtil._initInfos(),vworldInfo.lonlat=new OpenLayers.LonLat(e,t),vworldInfo.pixel.x=i,vworldInfo.pixel.y=o;if("EPSG:4326"==s||"EPSG:4019"==s)var v=OpenLayers.Util.destinationVincenty(new OpenLayers.LonLat(e,t),225,d),m=OpenLayers.Util.destinationVincenty(new OpenLayers.LonLat(e,t),45,d),y=Math.abs(v.lat),c=Math.abs(v.lon),w=Math.abs(m.lat),f=Math.abs(m.lon);else{var g=new OpenLayers.Pixel(i-4,o+4);v=thisMap.getLonLatFromPixel(g),g=new OpenLayers.Pixel(i+4,o-4),m=thisMap.getLonLatFromPixel(g),y=Math.abs(v.lon),c=Math.abs(v.lat),w=Math.abs(m.lon),f=Math.abs(m.lat)}for(var L="BBOX="+(y+","+c+","+w+","+f),O=null,x="",C=0;C0&&(O=_queryFields.getList(u[C])),null!=O?x+="("+O.fields.join(",")+",AG_GEOM)":0==C&&2==u.length?x+=",":x+="()";","===h.substr(-1)&&(h=h.substring(0,h.length-1)),","===x.substr(-1)&&(x=x.substring(0,x.length-1));var b=vworldUtil.treatResponse,_=vworldUtil.treatFailure;"function"==typeof r&&(b=r),"function"==typeof l&&(_=l);var M="TYPENAME="+h;M+="&"+L,","!=x&&"()"!=x&&(M+="&propertyname="+x),0==h.indexOf(vworldVar.bldglayer)&&(M+="&MAXFEATURES=1"),M+="&SERVICE=WFS",M+="&REQUEST=GetFeature",M+="&srsname="+s.toLowerCase(),M+="&OUTPUTFORMAT=text/xml;%20subtype=gml/2.1.2",M+="&VERSION=1.1.0",M+="&EXCEPTIONS=text/xml",M+="&apiKey="+vworldApiKey;var P="",S=null;"object"==typeof _queryCallBacks&&_queryCallBacks.length>0&&(S=_queryCallBacks.getList(h)),null==S||S.wfs?P=vworldUrls.wfs:(M+="&bldgPos=POINT("+e+" "+t+")",P=S.urls[0],b=vworldUtil.treatResponseBldg,_=vworldUtil.treatFailureBldg);var I=OpenLayers.Util.extend({url:P,data:M,headers:{"Content-Type":"text/plain"},success:b,failure:_,scope:this},{method:"POST"});OpenLayers.Request.issue(I)}catch(e){alert("공간정보조회를 실패하였습니다.\n\n"+e.message)}},treatFailureBldg:function(e){},treatResponseBldg:function(e){var t=e.responseText;""!=t&&vworldFunc._popupView("","layerView0",500,500,"hidden",!1,t)},treatFailure:function(e){},treatResponse:function(e){e.responseXML;var t=new OpenLayers.Format.GML;t.featureNS=v_protocol+"www.deegree.org/app",t.featurePrefix="app";var i=e.responseText,o=t.read(i);if(!(o.length<1)){o.sort((function(e,t){var i=e.fid.split(".")[0],o=t.fid.split(".")[0];return i=vworldInfo.group.length||null==e)&&(e=0),(t>=vworldInfo.group[e].length||null==t)&&(t=0);var i=vworldInfo.group[e].features[t],o=vworld.is3D(),s=!0,n=i.fid.split(".")[0],r=null;if("object"==typeof _queryCallBacks&&_queryCallBacks.length>0&&(r=_queryCallBacks.getList(n)),null!=r){var l=r.key.toUpperCase(),a=r.urls;for(var p in i.attributes){var d=null;if(p.indexOf(":")>0&&(p=p.split(":")[1]),p.toUpperCase()==l){s=!1;d=i.attributes[p];for(var h=0;h0?vworldFunc._popupView(u,"layerView"+h,500,500,"hidden",!0,""):vworldFunc._popupView(u,"layerView"+h,500,500,"hidden",!1,"")}break}}}var v="",m="",y=null,c=0;""!=(E=allLayerList.getLayerKoNameFromName(n))&&"undefined"!=E&&null!=E||(E=n);var w=200,f=0;(s||vworldInfo.group[e].features.length>1||vworldInfo.group.length>1)&&(v='
',v+='

'+E+"

",v+=' ',v+=' ',v+=' ',v+="
",v+="
",f+=45,w<(S=24*E.length+45)&&(w=S));var g=0;if(s){if("object"==typeof _queryFields&&_queryFields.length>0&&(y=_queryFields.getList(n)),null!=y)for(var L=0;L"+x+"
"+b+"
",c++}else for(var L in i.attributes)if("BOUNDEDBY"!=L.toUpperCase()&&"OBJECTID"!=L.toUpperCase()&&"GID"!=L.toUpperCase()&&"SHAPE_AREA"!=L.toUpperCase()&&"SHAPE_LEN"!=L.toUpperCase()){var b;x=L;null!=(b=i.attributes[L])&&"undefined"!=b&&"0000"!=b||(b="-");C="";w<(S=13*(""+b).length+140)&&(w=S),0==c&&(C='style="border-top: 1px #a8a8a8 solid;"'),m+="
"+x+"
"+b+"
",c++}f+=(g=26*c)+7}g>300&&(f=350,g=301);var _="";if(vworldInfo.group[e].features.length>1){_="
",_+="
",w<(S=21*vworldInfo.group[e].features.length)&&(w=S),f+=37}g>0?v+="
"+m+"
":vworldInfo.group[e].features.length>1&&(v+="
 
"),v+=_;var P=t+1;if(P>=vworldInfo.group.length&&(P=0),vworldInfo.group.length>1){v+="
[지도 선택]
",f+=95}for(var S=0,I=0;I"+(E=vworldInfo.group[I].alias)+"",(S+=12*E.length+10)>250&&(S=250,f+=30),w=250&&(S=0)}s&&vworldInfo.group[e].features.length>=1&&(vworldInfo.group.length>1?v+=' ':(v+='
',f+=30)),vworldInfo.group.length>1&&(v+="
");var z=finalY=0,B=vworldInfo.lonlat.clone(),D=vworldFunc._GetElement(vworldIDs.idpanel).offsetWidth,A=vworldFunc._GetElement(vworldIDs.idpanel).offsetHeight;if(!s&&""!=v){var k=vworldFunc._GetElement(vworldIDs.idpanel).offsetTop;if(D>=600&&A>=600&&(o||(vworldInfo.pixel=vmap.getPixelFromLonLat(B)),(z=630-vworldInfo.pixel.x)>0))if(o){var F=vearth.getViewCamera().getCenterPoint();if(B.lon600&&(U=600);var N=vworldInfo.pixel.x+U,R=vworldInfo.pixel.y+g;N>D&&(vworldInfo.pixel.x-=N-D),R>A&&(vworldInfo.pixel.y-=R-A);var G=vworldInfo.pixel.x,V=(k=vworldInfo.pixel.y,vworldFunc._GetElement(vworld.enums.POP_CONTENT_ID));null==V&&(V=vworldFunc._CreateElement("div")),V.style.display="none",V.setAttribute("id",vworld.enums.POP_CONTENT_ID),V.frameBorder="0",V.scrolling="no",V.style.position="absolute",V.style.overflow="hidden",V.style.width=U+"px",V.style.height=g+"px",V.style.left=G+"px",V.style.top=k+"px",V.style.border="2px solid #696969",V.className="olFramedCloudPopupContent",V.style.zIndex=10001;var Z=vworldFunc._GetElement(vworld.enums.POP_FRAME_ID);null==Z&&(Z=vworldFunc._CreateElement("iframe")),Z.style.display="none",Z.setAttribute("id",vworld.enums.POP_FRAME_ID),Z.frameBorder="0",Z.scrolling="no",Z.style.position="absolute",Z.style.overflow="hidden",Z.style.width=U+"px",Z.style.height=g+"px",Z.style.left=G+"px",Z.style.top=k+"px",Z.style.zIndex=1e4,vworldFunc._GetElement(vworldIDs.idpanel).appendChild(Z),vworldFunc._GetElement(vworldIDs.idpanel).appendChild(V),V.innerHTML=v,V.style.display="inline-block",Z.style.display="inline-block";var j=!1,W=0,H=0,q=0,K=0;V.onmouseup=function(){j=!1},V.onmousedown=function(){j=!0,W=Z.style.pixelLeft,H=Z.style.pixelTop,q=self.event.clientX,K=self.event.clientY,document.onmousemove=function(){if(j)return vworldInfo.pixel.x=W+self.event.clientX-q,vworldInfo.pixel.y=H+self.event.clientY-K,vworldFunc._GetElement(vworld.enums.POP_CONTENT_ID).style.pixelLeft=vworldInfo.pixel.x,vworldFunc._GetElement(vworld.enums.POP_CONTENT_ID).style.pixelTop=vworldInfo.pixel.y,Z.style.pixelLeft=vworldInfo.pixel.x,Z.style.pixelTop=vworldInfo.pixel.y,!1}},vworldUtil._addFeature(i)}},_getFeatureInfos:function(e){(e>=vworldInfo.group.length||null==e)&&(e=0);var t=(d=vworldInfo.group[e].features[0]).fid.split(".")[0],i=[],o=null,s=[],n=allLayerList.getLayerKoNameFromName(t);if(""!=n&&"undefined"!=n&&null!=n||(n=t),"object"==typeof _queryFields&&_queryFields.length>0&&(o=_queryFields.getList(t)),i.push({name:n,titles:[],values:[]}),null!=o)i[0].titles=JSON.parse(JSON.stringify(o.titles));else for(var r in d.attributes)if("BOUNDEDBY"!=r.toUpperCase()&&"OBJECTID"!=r.toUpperCase()&&"GID"!=r.toUpperCase()&&"SHAPE_AREA"!=r.toUpperCase()&&"SHAPE_LEN"!=r.toUpperCase()){var l=r;i[0].titles.push(l)}i[0].titles.push("지오메트리(WKT)");for(var a=new OpenLayers.Format.WKT,p=0;pn)var r=1.2*s;else r=1.2*n;r<200&&(r=200);var l=vearth.createVec3();l.Longitude=o.lon,l.Latitude=o.lat;var a=vearth.getViewCamera().getTilt(),p=vearth.getViewCamera().getDirect(),d=vearth.getViewCamera().getCenterPoint(),h=vearth.getViewCamera().getDistance();vworldInfo.prev3dlonlat.push({lon:d.Longitude,lat:d.Latitude,tilt:a,direct:p,distance:h}),vearth.getViewCamera().moveDist(l,a,p,r,0)}else vmap.zoomToExtent(vworldInfo.group[e].features[t].geometry.getBounds(),!1)},_prevMap:function(){if(vworld.is3D()&&null!=vearth){if(!("object"==typeof vworldInfo.prev3dlonlat&&vworldInfo.prev3dlonlat.length>0))return;var e=vworldInfo.prev3dlonlat.pop(),t=vearth.createVec3();t.Longitude=e.lon,t.Latitude=e.lat;var i=e.tilt,o=e.direct,s=e.distance;vearth.getViewCamera().moveDist(t,i,o,s,0)}else vmap.prevMap()},getProxyUrl:function(){return OpenLayers.ProxyHost},setProxyUrl:function(e){try{OpenLayers.ProxyHost=e}catch(e){}}},vworld={useChart:!1,useOSM:!1,isLoaded:!1,isLocked:!1,showMode:!0,viewMode:0,_initCallBack:null,_failCallBack:null,_modeCallBack:null,_lockCallBack:null,_unlockCallBack:null,_queryFields:[],_queryCallBacks:[],_2dCalled:!1,hideNotice:!1,isMobile:!1,setupMap:function(){try{if("object"==typeof OpenLayers&&"object"==typeof LayerObjects){this.isLoaded=!0,vworld.WaterMark=OpenLayers.Class(OpenLayers.Control,{autoActivate:!0,element:null,dataSource:"VWORLD",isSimple:!1,emptyString:null,initialize:function(e){OpenLayers.Control.prototype.initialize.apply(this,arguments)},destroy:function(){this.deactivate(),OpenLayers.Control.prototype.destroy.apply(this,arguments)},activate:function(){return!!OpenLayers.Control.prototype.activate.apply(this,arguments)&&(this.redraw(),!0)},deactivate:function(){return!!OpenLayers.Control.prototype.deactivate.apply(this,arguments)},draw:function(){return OpenLayers.Control.prototype.draw.apply(this,arguments),this.element||(this.div.style.left="10px",this.div.style.bottom="6px",this.div.style.fontSize="12px",this.div.style.fontWeight="bold",this.element=this.div),this.div},redraw:function(e){null==e&&this.reset();var t=this.formatOutput();t!=this.element.innerHTML&&(vworldFunc._purge(this.element),this.element.innerHTML=t)},reset:function(e){null!=this.emptyString&&(vworldFunc._purge(this.element),this.element.innerHTML=this.emptyString)},formatOutput:function(){return this.element.style.color="#111",this.isSimple?"":""},changeMark:function(e){this.dataSource=e,this.redraw()},CLASS_NAME:"vworld.WaterMark"}),OpenLayers.IMAGE_RELOAD_ATTEMPTS=3,OpenLayers.DOTS_PER_INCH=25.4/.28,OpenLayers.Util.onImageLoadErrorColor="transparent",OpenLayers.Util.onImageLoadError=function(){},OpenLayers.Tile.Image.prototype.onImageError=function(){},OpenLayers.ImgPath=vworldUrlsExt.oltheme+"/",OpenLayers.ProxyHost=vworldUrl+"/proxy.do?url=";var displayProj="EPSG:4326",originalProj="EPSG:900913",buttonWidth=30,M_GROUP=-1,M_LENGTH="",M_MEASURERING=!1,M_POPUP=null,mapBounds=new OpenLayers.Bounds(119.532,31.95216223802497,133,45.089),lonLatPosition,focus_style=OpenLayers.Util.extend({},OpenLayers.Feature.Vector.style.default);focus_style.strokeColor="#E96016",focus_style.fillColor="#ffffff",focus_style.strokeWidth=4,focus_style.pointRadius=6,focus_style.fillOpacity=.5,focus_style.strokeOpacity=.9;var stat_style=OpenLayers.Util.extend({},OpenLayers.Feature.Vector.style.default);stat_style.strokeColor="#E8ED7A",stat_style.fillColor="#363441",stat_style.strokeWidth=4,stat_style.fillOpacity=.5,stat_style.strokeOpacity=.7,stat_style.label="",stat_style.fontColor="#C0C0FA",stat_style.fontFamily="Dotum",stat_style.fontWeight="bold",stat_style.fontSize="14px";var stat_style_focus=OpenLayers.Util.extend({},OpenLayers.Feature.Vector.style.select);stat_style_focus.strokeColor="#FFFF00",stat_style_focus.fillColor="#0000FF",stat_style_focus.strokeWidth=8,stat_style_focus.fillOpacity=1,stat_style_focus.strokeOpacity=.7,stat_style_focus.fontColor="#FFFF00",stat_style_focus.fontSize="22px",vworld.Maps=OpenLayers.Class(OpenLayers.Map,{tileManager:null,vworldBaseMap:null,vworldGrayMap:null,vworldWhiteMap:null,vworldMidnightMap:null,vworldRaster:null,vworldHybrid:null,vworldOrthoImg:null,vworldIndex:null,HybridVisibility:!0,ovOptions:null,lastBounds:null,useOSM:!1,minlevel:6,maxlevel:19,serverMaxlevel:vworldVers.ServerMaxLevel,ziRatio:1,zoRatio:1,zoomBarPosition:"right",panZoomBarType:"normal",mapToolPosition:"left-top",mapToolDirection:"horizontal",mapToolbar:null,navi:null,zoomOutCon:null,zoomInCon:null,geolocCon:null,userMarkers:null,userGraphic:null,vectorLayer:null,userKml:null,posLayer:null,accLayer:null,measureControls:null,touchControl:null,displayProjection:null,projection:null,maxResolution:2048,maxExtent:null,indexExtent:null,restrictedExtent:null,units:"m",controls:[],indexMap:null,infoCon:null,noticeCon:null,clickAttribution:!1,custompopups:[],initialize:function(e,t){if(OpenLayers.Map.prototype.initialize.apply(this,[e,t]),null!=t)return!1;this.name="VWORLD MAP",this.useOSM=vworld.useOSM,this.useOSM&&(mapBounds=new OpenLayers.Bounds(119.532,31.95216223802497,133,45.089)),mapBounds=this.getTransformBounds(mapBounds.clone());var i=new OpenLayers.Bounds(-20037508.34,-20037508.34,20037508.34,20037508.34);i.right-i.left>i.top-i.bottom?(i.right,i.left):(i.top,i.bottom),new OpenLayers.Bounds(13149614.84995544,3757032.814272985,15028131.257091936,5635549.221409474);this.displayProjection=new OpenLayers.Projection(displayProj),this.projection=new OpenLayers.Projection(originalProj),this.maxExtent=i,this.numZoomLevels=21,this.maxResolution=156543.0339,this.tileSize=new OpenLayers.Size(256,256),this.center=new OpenLayers.LonLat(127,38),this.indexBaseMap=new OpenLayers.Layer.TMS("인덱스맵(배경지도)",vworldUrls.base,{isBaseLayer:!0,maxExtent:i,layername:"index",type:"png",numZoomLevels:16,buffer:0,getURL:this._getIndexBaseURL}),this.indexRaster=new OpenLayers.Layer.TMS("인덱스맵(영상)",vworldUrls.raster,{isBaseLayer:!0,maxExtent:i,layername:"index",type:"jpeg",numZoomLevels:20,buffer:0,getURL:this._getIndexBaseURL}),""!=vworldUrls.raster?this.vworldRaster=new OpenLayers.Layer.TMS("영상",vworldUrls.raster,{isBaseLayer:!0,type:"jpeg",maxExtent:i,displayOutsideMaxExtent:!0,wrapDateLine:!0,transitionEffect:"null",tileSize:new OpenLayers.Size(256,256),buffer:0,numZoomLevels:20,attribution:vworld.enums.COMMON_NOTICE_R,getURL:this._getBaseURL,displayInLayerSwitcher:!1}):this.vworldRaster=null,this.vworldThemeBase=new OpenLayers.Layer.TMS("theme","",{isBaseLayer:!1,type:"jpg",maxExtent:i,buffer:0,singleTile:!0,visibility:!1,opacity:.5,getURL:this._getThemeURL,displayInLayerSwitcher:!1}),this.vworldBaseMap=new OpenLayers.Layer.TMS("배경지도",vworldUrls.base,{isBaseLayer:!0,type:"png",maxExtent:i,displayOutsideMaxExtent:!0,wrapDateLine:!0,transitionEffect:"null",tileSize:new OpenLayers.Size(256,256),buffer:0,numZoomLevels:20,attribution:vworld.enums.COMMON_NOTICE,getURL:this._getBaseURL,displayInLayerSwitcher:!1}),this.vworldGrayMap=new OpenLayers.Layer.TMS("2D회색",vworldUrls.gray,{isBaseLayer:!0,type:"png",maxExtent:i,displayOutsideMaxExtent:!0,wrapDateLine:!0,transitionEffect:"null",tileSize:new OpenLayers.Size(256,256),buffer:0,numZoomLevels:20,attribution:vworld.enums.COMMON_NOTICE,getURL:this._getBaseURL,displayInLayerSwitcher:!1}),this.vworldWhiteMap=new OpenLayers.Layer.TMS("2D백",vworldUrls.white,{isBaseLayer:!0,type:"png",maxExtent:i,displayOutsideMaxExtent:!0,wrapDateLine:!0,transitionEffect:"null",tileSize:new OpenLayers.Size(256,256),buffer:0,numZoomLevels:20,attribution:vworld.enums.COMMON_NOTICE,getURL:this._getBaseURL,displayInLayerSwitcher:!1}),this.vworldMidnightMap=new OpenLayers.Layer.TMS("2D야간",vworldUrls.midnight,{isBaseLayer:!0,type:"png",maxExtent:i,displayOutsideMaxExtent:!0,wrapDateLine:!0,transitionEffect:"null",tileSize:new OpenLayers.Size(256,256),buffer:0,numZoomLevels:20,attribution:vworld.enums.COMMON_NOTICE,getURL:this._getBaseURL,displayInLayerSwitcher:!1}),""!=vworldUrls.hybrid?this.vworldHybrid=new OpenLayers.Layer.TMS("교통시설/명칭",vworldUrls.hybrid,{isBaseLayer:!1,transitionEffect:"null",displayOutsideMaxExtent:!0,wrapDateLine:!0,maxExtent:i,tileSize:new OpenLayers.Size(256,256),type:"png",numZoomLevels:this.numZoomLevels,buffer:0,getURL:this._getBaseURL,visibility:!1}):this.vworldHybrid=null,this.ovOptions={maximized:!0,mapOptions:{projection:new OpenLayers.Projection(originalProj),units:"m",minZoomLevel:this.minlevel,maxResolution:this.maxResolution,maxExtent:i},layers:[this.indexBaseMap,this.indexRaster]},this.addControls([new OpenLayers.Control.Navigation,this.noticeCon=new OpenLayers.Control.Attribution({separator:" "}),this.vworldIndex=new vworld.OverviewMap(this.ovOptions),new OpenLayers.Control.ScaleLine({bottomOutUnits:"",geodesic:!0}),new vworld.PanZoomBar,new vworld.WaterMark]),this.userMarkers=new OpenLayers.Layer.Markers("마커 레이어",{displayInLayerSwitcher:!1});var o=OpenLayers.Util.getParameters(window.location.href).renderer;o=o?[o]:OpenLayers.Layer.Vector.prototype.renderers,this.userGraphic=new OpenLayers.Layer.Vector("사용자 도형 레이어",{styleMap:new OpenLayers.StyleMap({default:{strokeColor:"",strokeOpacity:"",strokeWidth:"",fillColor:"",fillOpacity:"",pointRadius:"",pointerEvents:"visiblePainted",graphicName:"",fontColor:"",fontSize:"",fontFamily:"맑은 고딕, Lucida Console",label:"",labelBackgroundColor:"",labelBorderColor:"",labelBorderSize:"1px",labelAlign:""}}),renderers:o,displayInLayerSwitcher:!1}),this.vectorLayer=new OpenLayers.Layer.Vector("vectorLayer",{styleMap:new OpenLayers.StyleMap(focus_style),extractAttributes:!0,displayInLayerSwitcher:!1}),null!=this.vworldRaster&&(this.addLayer(this.vworldRaster),null!=this.vworldHybrid&&(this.addLayer(this.vworldHybrid),this.vworldHybrid.events.register("visibilitychanged",this,(function(){this.baseLayer==this.vworldRaster&&(this.HybridVisibility=this.vworldHybrid.visibility)})))),this.addLayers([this.vworldBaseMap,this.vworldGrayMap,this.vworldWhiteMap,this.vworldMidnightMap,this.userGraphic,this.userMarkers,this.vworldThemeBase,this.vectorLayer]),this.zoomTo(7),this.panTo(new OpenLayers.LonLat(14243425.793355,4342305.8698004)),thisMap=this,this.events.unregister("moveend",this,this.onZoomChanged),this.events.register("moveend",this,this.onZoomChanged),this.events.unregister("zoomend",this,this.onZoomEnded),this.events.register("zoomend",this,this.onZoomEnded),this.events.register("zoomend",this,this.setThemeBackground),this.events.register("click",this,this.onMapClicked),this.vectorLayer.events.on({beforefeatureremoved:this.onBeforeFeatureRemoved}),this.userGraphic.events.on({beforefeatureremoved:this.onBeforeFeatureRemoved}),this.navi=new OpenLayers.Control.NavigationHistory,this.addControl(this.navi),this.zoomInCon=new OpenLayers.Control.ZoomBox,this.addControl(this.zoomInCon),this.zoomOutCon=new OpenLayers.Control.ZoomBox({out:!0}),this.addControl(this.zoomOutCon),this.geolocCon=new OpenLayers.Control.Geolocate,this.addControl(this.geolocCon),null!=this.getControlsByClass("vworld.PanZoomBar")[0]&&(this.getControlsByClass("vworld.PanZoomBar")[0].div.style.display="none"),null!=this.getControlsByClass("vworld.OverviewMap")[0]&&(this.getControlsByClass("vworld.OverviewMap")[0].div.style.display="none"),this.infoCon=new vworld.InfoPoint,this.addControl(this.infoCon),this.mapToolbar=new OpenLayers.Control.Panel,this.addControl(this.mapToolbar),this.mapToolbar.div.style.width="auto",this.mapToolbar.div.style.height=buttonWidth+"px";var s=function(e){if(OpenLayers.Event.stop(e),"object"==typeof e.target){var t=null;for(var i in thisMap.mapToolbar.controls)thisMap.mapToolbar.controls[i].deactivate(),0==e.target.className.indexOf(thisMap.mapToolbar.controls[i].displayClass)&&(t=thisMap.mapToolbar.controls[i]);t&&t.trigger()}};this.mapToolbar.div.addEventListener?this.mapToolbar.div.addEventListener("touchend",s):this.mapToolbar.div.attachEvent&&this.mapToolbar.div.attachEvent("ontouchend",s),this.initMeasurement(),this.viewPortDiv.oncontextmenu=OpenLayers.Function.False,this.events.register("changebaselayer",this,(function(e){"배경지도"!=e.layer.name&&"2D회색"!=e.layer.name&&"2D야간"!=e.layer.name||null!=this.vworldHybrid&&this.vworldHybrid.setVisibility(!1)}));var n={getPointRadius:function(e){var t=thisMap.getResolution();return Math.round(e.attributes.accuracy/t)}},r=new OpenLayers.Style({pointRadius:"",fillColor:"#66ccff",fillOpacity:.3,strokeColor:"#3399ff",strokeWidth:2},{context:n});0==this.getLayersByName("내 위치").length&&(this.posLayer=new OpenLayers.Layer.Markers("내 위치",{numZoomLevels:this.numZoomLevels,maxExtent:i}),this.accLayer=new OpenLayers.Layer.Vector("범위 표시",{numZoomLevels:this.numZoomLevels,maxExtent:i,styleMap:new OpenLayers.StyleMap(r)}))},_set3dInfoLayerState:function(e,t,i){for(var o=-1,s=vworldInfo.Layers3d.length-1;s>=0&&!(s<0);s--){if(vworldInfo.Layers3d[s].name==e){o=s;break}}o>=0&&0==t?vworldInfo.Layers3d.splice(o,1):o<0&&1==t&&vworldInfo.Layers3d.push({name:e,info:i})},_setInfoLayerState:function(e,t,i){0==allLayerList.size&&thisMap._setInfoLayers();for(var o=0,s=thisMap.layers.length;o-1&&(r=n.name.replace("theme_",""),allLayerList.setLayerState(r,n.visibility))}null!=i&&void 0!==i&&(allLayerList.setLayerStateFromName(i,t),null!=e&&void 0!==e&&allLayerList.setLayerKoNameFromName(i,e))},_setInfoLayers:function(){var e=OpenLayers.Util.extend({url:vworldUrls.wfs+"request=GetCapabilities&version=1.1.0&service=WFS&outputformat=text/xml",headers:{"Content-Type":"text/plain"},success:setServiceLayerList,scope:this},{method:"GET"});try{OpenLayers.Request.issue(e)}catch(e){}},_clearInfos:function(){vworldUtil._initInfos(),this.clearDisplayLayer(!0)},_infoPointImplements:function(e){if(!("undefined"==typeof _queryFields||_queryFields.length<1)){var t;thisMap._setInfoLayerState(),t=vworldUtil.validSearchList(!1);var i=thisMap.getPixelFromLonLat(lonLatPosition);vworldUtil.requestSearch(lonLatPosition.lon,lonLatPosition.lat,i.x,i.y,originalProj,t)}},_getThemeURL:function(e){return vworldUrl+"/images/maps/themelayer.png"},_getIndexBaseURL:function(e){var t=this.map.getResolution(),i=Math.round((e.left-this.maxExtent.left)/(t*this.tileSize.w)),o=Math.round((this.maxExtent.top-e.top)/(t*this.tileSize.h)),s=this.map.getZoom(),n=Math.pow(2,s);return o<0||o>=n?vworldUrlsExt.blankimage:(i=(i%n+n)%n,this.url+s+"/"+i+"/"+o+"."+this.type)},_getBaseURL:function(e){var t=this.map.getResolution(),i=Math.round((e.left-this.maxExtent.left)/(t*this.tileSize.w)),o=Math.round((this.maxExtent.top-e.top)/(t*this.tileSize.h)),s=this.map.getZoom(),n=Math.pow(2,s);if(o<0||o>=n)return vworldUrlsExt.blankimage;if(i=(i%n+n)%n,s>0&&s<6){if(!this.map.useOSM)return this.url+s+"/"+i+"/"+o+"."+this.type;var r="/"+s+"/"+i+"/"+o+".png";if(OpenLayers.Util.isArray(vworldOthers.osmurl))return this.selectUrl(r,vworldOthers.osmurl)+r}else{if(mapBounds.intersectsBounds(e)){if(s>=6&&s<=this.map.serverMaxlevel)return this.url+s+"/"+i+"/"+o+"."+this.type;if(s>this.map.serverMaxlevel){var l=s-this.map.serverMaxlevel,a=s-l,p=256*Math.pow(2,l);i=Math.round((e.left-this.maxExtent.left)/(t*p)),o=Math.round((this.maxExtent.top-e.top)/(t*p));return i=(i%n+n)%n,this.url+a+"/"+i+"/"+o+"."+this.type}return vworldUrlsExt.blankimage}if(!this.map.useOSM)return vworldUrlsExt.blankimage;r="/"+s+"/"+i+"/"+o+".png";if(OpenLayers.Util.isArray(vworldOthers.osmurl))return this.selectUrl(r,vworldOthers.osmurl)+r}},getThemeLayerByName:function(e){var t=thisMap.getLayerByName(vworldCategory.theme+e);return null==t&&(t=thisMap.getLayerByName(vworldCategory.wms+e)),null==t&&(t=thisMap.getLayerByName(vworldCategory.cache+e)),null==t&&(t=thisMap.getLayerByName(vworldCategory.stat+e)),t},getLayerByName:function(e){for(var t=0,i=thisMap.layers.length;tthis.maxlevel&&(alert("최대 줌레벨인 "+this.maxlevel+" 이상으로 줌레벨을 설정할 수 없습니다."),t=!0),t},onMapClicked:function(e){if(e=e||window.event,!thisMap.isMeasuring()){var t=vworldFunc._getAbsPos(vworldFunc._GetElement(vworldIDs.id2d)),i=e.clientX-t[0],o=e.clientY-t[1],s=new OpenLayers.Pixel(i,o);lonLatPosition=thisMap.getLonLatFromPixel(s),thisMap._infoPointImplements(null)}return!!e.preventDefault&&(e.preventDefault(),!1)},onBeforeFeatureRemoved:function(e){var t=e.feature;null!=t.popup&&(this.map.removePopup(t.popup),t.popup.destroy(),delete t.popup)},onZoomEnded:function(e){var t=this.getZoom();if(t<0&&(this.zoomTo(0),this.zoomToExtent(this.getExtent(),!0),setTimeout('alert("지도를 더이상 축소하실 수 없습니다.")',200)),tthis.maxlevel))return;this.setZoomLevel(this.maxlevel)}},_onDummyZoomChanged:function(e,t){var i=function(e,i){if(null!=e)if(i>t){var o=i-t,s=256*Math.pow(2,o);e.initProperties(),e.clearGrid(),e.tileSize=new OpenLayers.Size(s,s),e.setTileSize(),e.redraw()}else{if(null==e.tileSize)return;256!=e.tileSize.w&&(e.initProperties(),e.clearGrid(),e.tileSize=new OpenLayers.Size(256,256),e.setTileSize(),e.redraw())}};null!=this.vworldBaseMap&&i(this.vworldBaseMap,e),null!=this.vworldRaster&&i(this.vworldRaster,e),null!=this.vworldHybrid&&i(this.vworldHybrid,e),null!=this.vworldGrayMap&&i(this.vworldGrayMap,e),null!=this.vworldWhiteMap&&i(this.vworldWhiteMap,e),null!=this.vworldMidnightMap&&i(this.vworldMidnightMap,e)},onZoomChanged:function(e){for(var t=0,i=this.custompopups.length;td?this.zoomToExtent(a,i):this.setCenter(o,p)},setCenterAndZoom:function(e,t,i,o){-1==i&&(i=this.getZoomLevel()),void 0===o&&(o=originalProj);var s=new OpenLayers.LonLat(e,t).transform(new OpenLayers.Projection(o),new OpenLayers.Projection(originalProj));this.setCenter(s,i,!1,!0)},setCenterXY:function(e,t){this.setCenter(new OpenLayers.LonLat(e,t),this.getZoomLevel())},getCenterXY:function(){return{cx:this.getCenter().lon,cy:this.getCenter().lat}},setZoomLevel:function(e){this.setCenter(this.getCenter(),e)},getZoomLevel:function(){return this.getZoom()},zoomInRatio:function(){var zi=eval(this.getZoom())+eval(this.getZoominRatio());zi>this.maxlevel?alert("최대 줌레벨인 "+this.maxlevel+" 이상으로 줌레벨을 설정할 수 없습니다."):this.zoomTo(zi)},zoomOutRatio:function(){var zo=eval(this.getZoom())-eval(this.getZoomoutRatio());zo-1;return i},panXy:function(e,t){this.pan(e,t)},fullExtent:function(){this.zoomToMaxExtent()},getCurrentLocation:function(){null!=this.geolocCon&&(this.geolocCon.activate(),this.geolocCon.getCurrentLocation())},prevMap:function(){null!=this.navi&&this.navi.previous.trigger()},nextMap:function(){null!=this.navi&&this.navi.next.trigger()},_emptyMeasurement:function(){null!=M_POPUP&&M_POPUP.hide(),M_GROUP>-1&&1==M_MEASURERING&&this._clearMeasurement(M_GROUP),M_MEASURERING=!1},_clearMeasurement:function(e){for(;null!=this.userGraphic.getFeatureBy("groupId",e);){var t=this.userGraphic.getFeatureBy("groupId",e);null!=t&&this.userGraphic.removeFeatures(t)}},initMeasurement:function(){this._emptyMeasurement();for(var e=0;e<=M_GROUP;e++)this._clearMeasurement(e);M_GROUP=-1,null!=this.measureControls&&(this.measureControls.line.deactivate(),this.measureControls.polygon.deactivate());var t="#0649FB",i={Point:{pointRadius:4,graphicName:"square",fillColor:"white",fillOpacity:1,strokeWidth:1,strokeOpacity:1,strokeColor:t},Line:{strokeWidth:4,strokeOpacity:.6,strokeColor:t,strokeDashstyle:"solid"},Polygon:{strokeWidth:4,strokeOpacity:.6,strokeColor:t,fillColor:t,fillOpacity:.3}},o=new OpenLayers.Style;o.addRules([new OpenLayers.Rule({symbolizer:i})]);var s=new OpenLayers.StyleMap({default:o}),n=function(e){var t=parseInt(e/60),i=parseInt(e%60);return 0!=t&&0!=i?t+"시간 "+i+"분":0!=t&&0==i?t+"시간 ":0==t&&0!=i?i+"분":"1분 미만"},r=function(e){var t=parseInt(e/60),i=parseInt(e%60);return 0!=t&&0!=i?""+t+"시간 "+i+"분":0!=t&&0==i?""+t+"시간 ":0==t&&0!=i?""+i+"분":"1분 미만"};if(vworld.PathHandler=OpenLayers.Class(OpenLayers.Handler.Path,{handlers:null,initialize:function(e,t,i){this.handlers={keyboard:new OpenLayers.Handler.Keyboard(this,{keydown:this.handleKeypress})},OpenLayers.Handler.Path.prototype.initialize.apply(this,arguments)},activate:function(){return this.handlers.keyboard.activate()&&OpenLayers.Handler.Path.prototype.activate.apply(this,arguments)},deactivate:function(){var e=!1;return OpenLayers.Handler.Path.prototype.deactivate.apply(this,arguments)&&(this.handlers.keyboard.deactivate(),e=!0),e},handleKeypress:function(e){27===e.keyCode&&M_MEASURERING&&this.finishGeometry()},addPoint:function(e){this.layer.removeFeatures([this.point]);var i=this.layer.getLonLatFromViewPortPx(e);this.point=new OpenLayers.Feature.Vector(new OpenLayers.Geometry.Point(i.lon,i.lat)),this.line.geometry.addComponent(this.point.geometry,this.line.geometry.components.length),this.layer.addFeatures([this.point]),this.callback("point",[this.point.geometry,this.getGeometry()]),this.callback("modify",[this.point.geometry,this.getSketch()]),this.drawFeature(),delete this.redoStack;for(var o=this.line.geometry.getVertices(),s=o.length,n=0,r=0;r=1?n.toFixed(1)+"㎞":(1e3*n).toFixed(1)+"m";i=this.map.getLonLatFromPixel(e);var p=new OpenLayers.Feature.Vector(new OpenLayers.Geometry.Point(i.lon,i.lat)),d="",h="",u="bl";if(M_MEASURERING?(u="tr",d=M_LENGTH,h+="
"+M_LENGTH+"
",p.attributes={pointRadius:4,graphicName:"square",fillColor:"white",fillOpacity:1,strokeWidth:1,strokeOpacity:1,strokeColor:t,fontSize:"11px",fontColor:t,labelBackgroundColor:"white",labelBorderColor:t,labelAlign:"lb",label:"",labeltext:d}):(u="bl",d="START",h+="
START
",M_LENGTH="",M_GROUP++,p.attributes={pointRadius:4,graphicName:"square",fillColor:"white",fillOpacity:1,strokeWidth:1,strokeOpacity:1,strokeColor:t,fontSize:"11px",fontColor:"white",labelBackgroundColor:t,labelBorderColor:t,labelAlign:"rt",label:"",labeltext:d}),p.groupId=M_GROUP,this.map.userGraphic.addFeatures([p]),M_MEASURERING=!0,""!=h){var v=this.map.getPixelFromLonLat(i),m=this.map.getLonLatFromPixel(v),y=new vworld.AnchoredPopup("label_d_pop",new OpenLayers.LonLat(m.lon,m.lat),null,h,null,!1);y.relativePosition=u,p.popup=y,this.map._addCustomPopup(p.popup)}}}),vworld.PolygonHandler=OpenLayers.Class(OpenLayers.Handler.Polygon,{handlers:null,initialize:function(e,t,i){this.handlers={keyboard:new OpenLayers.Handler.Keyboard(this,{keydown:this.handleKeypress})},OpenLayers.Handler.Polygon.prototype.initialize.apply(this,arguments)},activate:function(){return this.handlers.keyboard.activate()&&OpenLayers.Handler.Polygon.prototype.activate.apply(this,arguments)},deactivate:function(){var e=!1;return OpenLayers.Handler.Polygon.prototype.deactivate.apply(this,arguments)&&(this.handlers.keyboard.deactivate(),e=!0),e},handleKeypress:function(e){var t=e.keyCode;27!==t&&39!==t||M_MEASURERING&&this.finishGeometry()},addPoint:function(e){if(!this.drawingHole&&this.holeModifier&&this.evt&&this.evt[this.holeModifier])for(var i,o,s=this.point.geometry,n=this.control.layer.features,r=n.length-1;r>=0;--r)if(((i=n[r].geometry)instanceof OpenLayers.Geometry.Polygon||i instanceof OpenLayers.Geometry.MultiPolygon)&&i.intersects(s)){o=n[r],this.control.layer.removeFeatures([o],{silent:!0}),this.control.layer.events.registerPriority("sketchcomplete",this,this.finalizeInteriorRing),this.control.layer.events.registerPriority("sketchmodified",this,this.enforceTopology),o.geometry.addComponent(this.line.geometry),this.polygon=o,this.drawingHole=!0;break}OpenLayers.Handler.Path.prototype.addPoint.apply(this,arguments);var l="",a=this.polygon.geometry.getVertices(),p=a.length;if(p>=2){var d=curdist=0;for(r=0;r0&&(curdist=v),d+=v}}curdist/=1e3,l=curdist>=1?curdist.toFixed(1)+"㎞":(1e3*curdist).toFixed(1)+"m",l+=(d/=1e3)>=1?"/"+d.toFixed(1)+"㎞":"/"+(1e3*d).toFixed(1)+"m",M_LENGTH="
"+l+"
"}var m=this.map.getLonLatFromPixel(e),y=new OpenLayers.Feature.Vector(new OpenLayers.Geometry.Point(m.lon,m.lat)),c="",w="bl";if(M_MEASURERING?(w="tr",c+=M_LENGTH,y.attributes={pointRadius:4,graphicName:"square",fillColor:"white",fillOpacity:1,strokeWidth:1,strokeOpacity:1,strokeColor:t,fontSize:"11px",fontColor:t,labelBackgroundColor:"white",labelBorderColor:t,labelAlign:"lb",label:"",labeltext:l}):(l="",M_LENGTH="",M_GROUP++,y.attributes={pointRadius:4,graphicName:"square",fillColor:"white",fillOpacity:1,strokeWidth:1,strokeOpacity:1,strokeColor:t,fontSize:"11px",fontColor:"white",labelBackgroundColor:t,labelBorderColor:"white",labelAlign:"rt",label:"",labeltext:l}),y.groupId=M_GROUP,this.map.userGraphic.addFeatures([y]),M_MEASURERING=!0,""!=c){var f=this.map.getPixelFromLonLat(m),g=this.map.getLonLatFromPixel(f),L=new vworld.AnchoredPopup("label_a_pop",new OpenLayers.LonLat(g.lon,g.lat),null,c,null,!1);L.relativePosition=w,y.popup=L,this.map._addCustomPopup(y.popup)}}}),null==this.measureControls&&(this.measureControls={line:new OpenLayers.Control.Measure(vworld.PathHandler,{persist:!1,geodesic:!0,immediate:!0,handlerOptions:{layerOptions:{styleMap:s}}}),polygon:new OpenLayers.Control.Measure(vworld.PolygonHandler,{persist:!1,geodesic:!0,immediate:!0,handlerOptions:{layerOptions:{styleMap:s}}})},null!=this.getControlsByClass("OpenLayers.Control.Measure")))for(var l in this.measureControls)this.measureControls[l].events.on({measure:function(e){var i=e.geometry,o=e.units,s=e.order,l=e.measure,a=Math.floor(1e3*l)/1e3,p=a,d=a.toFixed(1)+""+o;"m"==o&&(p/=1e3);var h=M_GROUP,u="";M_LENGTH="",M_MEASURERING=!1;var v="";if(1==s){v="총거리 "+d+"\n도보 "+n(parseInt(1e3*p*60/4e3))+"\n자전거 "+n(parseInt(1e3*p*60/2e4));var m=r(parseInt(1e3*p*60/4e3)),y=r(parseInt(1e3*p*60/2e4));u="
  • 총거리"+(c=vworldFunc._commify(a.toFixed(1)))+""+o+"
  • ",u+="
  • 도 보"+m+"
  • ",u+="
  • 자전거"+y+"
"}else{var c;p=Math.floor(1e3*a)/1e3,"m"==o?o="㎡ ":"km"==o&&(o="㎢ "),v="총면적 "+(c=vworldFunc._commify(p.toFixed(1)))+o,u="
  • 총면적"+c+""+o+"
"}var w=i.components[i.components.length-1];void 0===w.x&&(w=w.components[0]);var f=new OpenLayers.LonLat(w.x,w.y),g=new OpenLayers.Feature.Vector(new OpenLayers.Geometry.Point(f.lon,f.lat));if(g.attributes={pointRadius:4,graphicName:"square",fillColor:"white",fillOpacity:1,strokeWidth:1,strokeOpacity:1,strokeColor:t,fontSize:"11px",fontColor:t,labelBackgroundColor:"white",labelBorderColor:t,labelAlign:"lb",label:"",labeltext:v},g.groupId=h,""!=u){var L=this.map.getPixelFromLonLat(f),O=this.map.getLonLatFromPixel(L),x=new vworld.AnchoredPopup("label_a_pop",new OpenLayers.LonLat(O.lon,O.lat),null,u,null,!1);x.relativePosition="tr",g.popup=x,this.map._addCustomPopup(g.popup)}var C=new OpenLayers.Feature.Vector(i.clone());C.attributes={strokeWidth:4,strokeOpacity:.6,strokeColor:t,fillColor:t,fillOpacity:.3,pointRadius:"2",fontSize:"11px",fontColor:t,labelBackgroundColor:"white",labelBorderColor:t,labelAlign:"rb",label:"",labeltext:""},C.groupId=h,this.map.userGraphic.addFeatures([C,g]);var b=new vworld.ClosePopup(new OpenLayers.LonLat(f.lon,f.lat),(function(){this.map._clearMeasurement(h)}));C.popup=b,this.map._addCustomPopup(C.popup),null!=M_POPUP&&M_POPUP.hide(),thisMap.init()},measurepartial:function(e){var t=e.geometry,i=e.units,o=e.order,s=e.measure,n=Math.floor(1e3*s)/1e3,l=n,a="";"m"==i&&(l/=1e3);var p=t.getVertices(),d=p.length;if(1==o){var h=r(parseInt(1e3*l*60/4e3)),u=r(parseInt(1e3*l*60/2e4));a="
  • 총거리"+vworldFunc._commify(n.toFixed(1))+""+i+"
  • ",a+="
  • 도 보"+h+"
  • ",a+="
  • 자전거"+u+"
",a+="
화면 더블클릭 또는
키보드 'Esc'를 누르면
종료합니다.
"}else{"m"==i?i="㎡ ":"km"==i&&(i="㎢ "),a="
  • 총면적"+vworldFunc._commify(n.toFixed(1))+""+i+"
",a+="
화면 더블클릭 또는
키보드 'Esc'를 누르면
종료합니다.
"}var v=t.components[t.components.length-1];if(void 0===v.x&&(v=v.components[0]),v=new OpenLayers.Geometry.Point(p[d-1].x,p[d-1].y),""!=a){var m=new OpenLayers.LonLat(v.x,v.y),y=this.map.getPixelFromLonLat(m);y.x+=4,y.y+=2;var c=this.map.getLonLatFromPixel(y);null==M_POPUP?(M_POPUP=new OpenLayers.Popup("M_POPUP",new OpenLayers.LonLat(c.lon,c.lat),null,a,!1)).autoSize=!0:M_POPUP.show(),M_POPUP.lonlat=new OpenLayers.LonLat(c.lon,c.lat),M_POPUP.contentHTML=a,this.map.addPopup(M_POPUP,!0)}else null!=M_POPUP&&M_POPUP.hide()}}),this.addControl(this.measureControls[l])},calcDistance:function(){this.init(),this.measureControls.line.activate(),vworldFunc._isIE()?this.div.style.cursor="url("+vworldUrl+"/images/maps/caldist.cur),default":this.div.style.cursor="url("+vworldUrl+"/images/maps/caldist.cur) 0 31,default"},calcArea:function(){this.init(),this.measureControls.polygon.activate(),vworldFunc._isIE()?this.div.style.cursor="url("+vworldUrl+"/images/maps/calarea.cur),default":this.div.style.cursor="url("+vworldUrl+"/images/maps/calarea.cur) 0 31,default"},mapRefresh:function(){for(var e=0;ei&&(o=i);for(var n=e,r=this.userMarkers.id,l=r,a=0;a-1||conid.indexOf("OpenLayers_Control_Button")>-1)&&e.controls[t].deactivate()}},clearMeasureEvent:function(){var e=this;for(var t in e.controls){if(conid=e.controls[t].id,null==conid)break;(conid.indexOf(".Control.Measure")>-1||conid.indexOf(".Control.ZoomBox")>-1||conid.indexOf("vworld.InfoPoint")>-1||conid.indexOf("_Control_Measure")>-1||conid.indexOf("_Control_ZoomBox")>-1||conid.indexOf("vworld_InfoPoint")>-1)&&e.controls[t].deactivate()}this.div.style.cursor="url("+vworldUrl+"/images/maps/hand.cur), default"},isMeasuring:function(){var e=this;for(var t in e.controls){if(conid=e.controls[t].id,null==conid)break;if((conid.indexOf(".Control.Measure")>-1||conid.indexOf(".Control.ZoomBox")>-1||conid.indexOf("vworld.InfoPoint")>-1||conid.indexOf("_Control_Measure")>-1||conid.indexOf("_Control_ZoomBox")>-1||conid.indexOf("vworld_InfoPoint")>-1)&&e.controls[t].active)return!0}return!1},addMapToolButton:function(e){var t=this;"init"==e?this.addPanelButton((function(){t.initAll()}),"horizontal"==this.mapToolDirection?"olInitH":"olInit","초기화"):"zoomin"==e?this.addPanelButton((function(){t.zoomIn()}),"horizontal"==this.mapToolDirection?"olZoominH":"olZoomin","확대"):"zoomout"==e?this.addPanelButton((function(){t.zoomOut()}),"horizontal"==this.mapToolDirection?"olZoomoutH":"olZoomout","축소"):"zoominbox"==e?this.addPanelButton((function(){t.zoomBoxIn()}),"horizontal"==this.mapToolDirection?"olZoominH":"olZoomin","영역확대"):"zoomoutbox"==e?this.addPanelButton((function(){t.zoomBoxOut()}),"horizontal"==this.mapToolDirection?"olZoomoutH":"olZoomout","축소"):"pan"==e?this.addPanelButton((function(){thisMap.init(),t.getControlsByClass("OpenLayers.Control.Navigation")[0].activate()}),"horizontal"==this.mapToolDirection?"olPanH":"olPan","이동"):"prev"==e?this.addPanelButton((function(){t.navi.previous.trigger()}),"horizontal"==this.mapToolDirection?"olPrevH":"olPrev","이전화면"):"next"==e?this.addPanelButton((function(){t.navi.next.trigger()}),"horizontal"==this.mapToolDirection?"olNextH":"olNext","다음화면"):"fullext"==e?this.addPanelButton((function(){t.clearButtonEvent(),t.fullExtent()}),"horizontal"==this.mapToolDirection?"olFullExtH":"olFullExt","전체보기"):"geolocate"==e?this.addPanelButton((function(){t.getCurrentLocation()}),"horizontal"==this.mapToolDirection?"olGeolocateH":"olGeolocate","현재위치찾기"):"caldist"==e?this.addPanelButton((function(){t.calcDistance()}),"horizontal"==this.mapToolDirection?"calDistH":"calDist","거리측정"):"calarea"==e?this.addPanelButton((function(){t.calcArea()}),"horizontal"==this.mapToolDirection?"calAreaH":"calArea","면적측정"):"info"==e&&this.addPanelButton((function(){t.infoOn()}),"horizontal"==this.mapToolDirection?"olinfoOnH":"olinfoOn","정보조회"),this.setMapToolPosition(this.mapToolPosition),this.mapToolbar.redraw()},addPanelButton:function(func,classname,tooltip){var mtb=this.mapToolbar,btnControl=new OpenLayers.Control.Button({trigger:func,displayClass:classname});btnControl.title=tooltip;var tmpControls=[],k=mtb.controls.length;for(var x in mtb.controls){var mid=mtb.controls[x].id;if(null==mid)break;tmpControls.push(mtb.controls[x])}for(var x in this.controls){if(conid=this.controls[x].id,null==conid)break;conid.indexOf("OpenLayers.Control.Button")>-1&&this.removeControl(this.controls[x])}if(tmpControls.push(btnControl),this.mapToolbar.controls=[],this.mapToolbar.addControls(tmpControls),k=0,"vertical"==this.mapToolDirection){for(var x in mtb.controls){var mid=mtb.controls[x].id;if(null==mid)break;mtb.controls[x].div.style.top=eval(k*buttonWidth)+"px",mtb.controls[x].div.style.left="0px",mtb.controls[x].activate(),k++}mtb.div.style.width=buttonWidth+"px",mtb.div.style.height=eval(k*buttonWidth)+"px"}else{for(var x in mtb.controls){var mid=mtb.controls[x].id;if(null==mid)break;mtb.controls[x].div.style.top="0px",mtb.controls[x].div.style.left=k*buttonWidth+"px",mtb.controls[x].activate(),k++}mtb.div.style.width=eval(k*buttonWidth)+"px",mtb.div.style.height=buttonWidth+"px"}return btnControl},removePanelButton:function(e){OpenLayers.Util.removeItem(this.mapToolbar.controls,e),this.mapToolbar.redraw()},setIndexMapPosition:function(pos){var bar=this.getControlsByClass("vworld.OverviewMap")[0];null!=bar&&("right-top"==pos?(bar.div.style.top="0px",bar.div.style.left="",bar.maximizeDiv.style.top=bar.minimizeDiv.style.top="0px"):"right-bottom"==pos?(bar.div.style.bottom="0px",bar.maximizeDiv.style.bottom=bar.minimizeDiv.style.bottom=bar.div.style.top,bar.div.style.top="",bar.div.style.left="",bar.maximizeDiv.style.top="",bar.minimizeDiv.style.top="",bar.div.style.bottom="0px",bar.maximizeDiv.style.bottom="0px",bar.minimizeDiv.style.bottom="0px"):"left-top"==pos?(bar.div.style.left=bar.div.style.top="0px",bar.div.style.width=Math.round(eval(1.02*bar.size.w))+"px",bar.maximizeDiv.style.left=bar.minimizeDiv.style.left="0px",bar.maximizeDiv.style.top=bar.minimizeDiv.style.top="0px"):"left-bottom"==pos&&(bar.div.style.left="0px",bar.div.style.width=Math.round(eval(1.02*bar.size.w))+"px",bar.maximizeDiv.style.left=bar.minimizeDiv.style.left="0px",bar.maximizeDiv.style.bottom=bar.minimizeDiv.style.bottom=bar.div.style.top,bar.div.style.top="",bar.maximizeDiv.style.top="",bar.minimizeDiv.style.top="",bar.div.style.bottom="0px",bar.maximizeDiv.style.bottom="0px",bar.minimizeDiv.style.bottom="0px"),bar=null)},setControlsType:function(e){return e.hasOwnProperty("zoomBarPosition")&&(this.zoomBarPosition=e.zoomBarPosition,this.getControlsByClass("vworld.PanZoomBar")[0].curPosition=e.zoomBarPosition),e.hasOwnProperty("simpleMap")&&(this.getControlsByClass("vworld.WaterMark")[0].isSimple=this.getControlsByClass("vworld.PanZoomBar")[0].isSimpleBar=e.simpleMap),e.hasOwnProperty("zoomText")&&(this.getControlsByClass("vworld.PanZoomBar")[0].isZoomText=e.zoomText),(e.hasOwnProperty("simpleMap")||e.hasOwnProperty("zoomBarPosition")||e.hasOwnProperty("zoomText"))&&this.getControlsByClass("vworld.PanZoomBar")[0].redraw(),e.hasOwnProperty("mapToolDirection")&&(this.mapToolDirection=e.mapToolDirection,this.mapToolbar.redraw()),e.hasOwnProperty("mapToolPosition")&&(this.mapToolPosition=e.mapToolPosition),this.refreshControls(),!0},refreshControls:function(){this.setMapToolPosition(this.mapToolPosition),this.getControlsByClass("vworld.WaterMark")[0].redraw()},setMapToolDirection:function(e){this.mapToolDirection="vertical"==e||"horizontal"==e?e:"vertical",this.mapToolbar.redraw()},setMapToolPosition:function(e){var t=0,i=0;t=80,("right"==this.zoomBarPosition||vworld.showMode)&&(vworld.showMode||(t=0),i=90);var o=this.getControlsByClass("OpenLayers.Control.Panel")[0];if(null==o)return!1;o.div.style.top=null,o.div.style.right=null,o.div.style.left=null,o.div.style.bottom=null,this.mapToolPosition=e,"right-top"==e?(o.div.style.top="4px",o.div.style.right=i+10+"px"):"right-bottom"==e?(o.div.style.right="10px",o.div.style.bottom="4px"):"left-top"==e?(o.div.style.top="4px",o.div.style.left=t+10+"px"):"left-bottom"==e&&(o.div.style.left="10px",o.div.style.bottom="4px")},setZoomBarPosition:function(e){this.zoomBarPosition=e,"left"==e?this.getControlsByClass("vworld.PanZoomBar")[0].div.style.left="10px":(this.zoomBarPosition="right",this.getControlsByClass("vworld.PanZoomBar")[0].div.style.right="10px",this.getControlsByClass("vworld.PanZoomBar")[0].div.style.left="")},GetLayerStyles:function(e,t,i){var o="layers="+e;o+="&styles="+(null!=i?i:e),o+="&SERVICE=WMS",o+="&REQUEST=GetStyles",o+="&VERSION=1.3.0",o+="&outputformat=text/xml",o+="&EXCEPTIONS=text/xml",o+="&apiKey="+vworldApiKey;var s=OpenLayers.Util.extend({url:vworldUrls.wms+o,headers:{"Content-Type":"text/plain"},success:t,scope:this},{method:"GET"});try{OpenLayers.Request.issue(s)}catch(e){}},showTimeSeriesLayer:function(e,t){if(null==t||void 0===t)return null;var i=vworldTimes.times.indexOf(t);if(i<0)return null;var o=vworldTimes.types[i],s=null;if(null!=(s=thisMap.getLayerByName(e)))s.changeTime(t);else{var n={serviceVersion:"",layername:t,isBaseLayer:!1,opacity:1,type:o,transitionEffect:"null",tileSize:new OpenLayers.Size(256,256),min_level:9,max_level:18,buffer:0};null!=(s=new vworld.TimeCache(e,vworldUrls.times,n))&&thisMap.addLayer(s)}return s},showTileCacheLayer:function(e,t,i,o){var s=null,n=!0,r=vworldCategory.cache;if(null!=(s=thisMap.getLayerByName(r+e)))n=!s.getVisibility(),s.setVisibility(n),s.redraw();else{var l={serviceVersion:"",layername:t,isBaseLayer:!1,opacity:null!=o&&null!=o.opacity?o.opacity:1,type:"png",transitionEffect:"null",tileSize:new OpenLayers.Size(256,256),min_level:null!=i.min?i.min:9,max_level:null!=i.max?i.max:18,buffer:0};null!=(s=new vworld.TileCache(r+e,vworldUrls.tile2d,l))&&thisMap.addLayer(s)}return s},hideTileCacheLayer:function(e){var t=null,i=vworldCategory.cache;return null!=(t=thisMap.getLayerByName(i+e))&&(t.setVisibility(!1),t.redraw()),!0},ImportWMSLayer:function(e,t){if("object"!=typeof t)return null;var i=null!=t.url?t.url:null,o=null!=t.layers?t.layers:null,s=null!=t.styles?t.styles:o,n=null!=t.format?t.format:"image/png",r=null!=t.crs?t.crs:originalProj,l=null!=t.srs?t.srs:originalProj,a=null!=t.version?t.version:"1.3.0",p=null==t.transparent||t.transparent,d="object"==typeof t.tilesize?t.tilesize:new OpenLayers.Size(512,512);if(null==i)return null;var h=vworldCategory.wms,u=new OpenLayers.Layer.WMS(h+e,i,{layers:o,styles:s,format:n,crs:r,srs:l,projection:"none",exceptions:"text/xml",version:a,transparent:p},{isBaseLayer:!1,singleTile:!1,tileSize:d,visibility:!0});return thisMap.addLayer(u),u},clearDisplayLayer:function(e){if(e)vworldInfo.objects2d=[],thisMap.vectorLayer.removeAllFeatures(),thisMap.userGraphic.removeAllFeatures(),thisMap.clearMarkers();else{theLayer=thisMap.getLayerByName(vworldCategory.theme+"지적도"),null!=theLayer&&thisMap.raiseLayer(theLayer,thisMap.layers.length),thisMap.raiseLayer(thisMap.vectorLayer,thisMap.layers.length),thisMap.raiseLayer(thisMap.userGraphic,thisMap.layers.length);for(var t=thisMap.getLayersByClass("OpenLayers.Layer.Markers"),i=0;i-1||i.name.indexOf(vworldCategory.cache)>-1)&&(i.setVisibility(!1),i.redraw())}return thisMap._setInfoLayerState(),vworldUtil._initInfos(),!0},hideThemeLayer:function(e){var t=null,i=vworldCategory.theme;return null!=(t=thisMap.getLayerByName(i+e))&&(t.setVisibility(!1),t.redraw(),thisMap._setInfoLayerState(e,!1)),!0},showThemeLayer:function(e,t,i,o,s){var n=null,r=null,l=null,a=!1;if("object"!=typeof t)return null;if("object"==typeof t?(n=null!=t.layers?t.layers:null,r=null!=t.styles?t.styles:n,null!=t.imgType?t.imgType:"image/png",l=null!=t.typename?t.typename:n,a=null!=t.setvisible&&t.setvisible):("string"==typeof t&&(n=t),"string"==typeof i&&(r=i),"string"==typeof o&&o,"string"==typeof s&&(l=s)),null!=n){var p=null,d=!0,h=vworldCategory.theme;p=thisMap.getLayerByName(h+e);var u="";return"지적도"==e&&(u=vworld.enums.JIJUK_VISIBLE_NOTICE),null!=p?(d=!p.getVisibility(),a&&(d=!0),p.setVisibility(d),p.redraw()):(p=new OpenLayers.Layer.TMS(h+e,vworldUrls.wms2,{isBaseLayer:!1,type:"png",buffer:0,transitionEffect:"null",attribution:u,tileSize:new OpenLayers.Size(512,512),getURL:function(e){var t=this.map.getZoom();if(t>=6&&t<=this.map.maxlevel){var i={};return i.LAYERS=n,i.STYLES=r,i.CRS=originalProj,i.BBOX=e.left+","+e.bottom+","+e.right+","+e.top,i.SIZE=512,i.APIKEY=vworldApiKey,this.getFullRequestString(i)}},getFullRequestString:function(t,i){return this.options=t,this.options.TITLE=e,OpenLayers.Layer.Grid.prototype.getFullRequestString.apply(this,arguments)}}),"지적도"==e&&p.events.register("visibilitychanged",this,this.setThemeBackground),thisMap.addLayer(p),p.setVisibility(!0)),thisMap._setInfoLayerState(e,d,l),this.setThemeBackground(),p}alert(e+" 지도의 공간정보 조회정보가 잘못되었습니다.")},hideAll3DThemeLayer:function(){if(null!=vearth){for(var e=vearth.getLayerList(),t=e.count(),i=0;i5&&(y==sop.cons.enums.SOPVISIBLE_ON?thisMap._set3dInfoLayerState(e,!0,v):thisMap._set3dInfoLayerState(e,!1,v))}return m}catch(e){alert("설치된 3D 플러그인은 공간정보 조회서비스를 지원하지 않습니다.\n"+e.message)}},previewResponse:function(e){var t="";if(null!=e&&""!=e.responseText&&(t=e.responseText),""!=t){var i=thisMap.getPrintSize(),o=thisMap.getPrintPage(),s="/preview2D.do?width="+i.width+"&height="+i.height+"&page="+o.page+"&direct="+o.direct+"&url="+vworldUrls.print+"?file="+t;window.open(s,"preview","width=640px,height=760px,scrollbars=yes,resizable=yes")}},getPreviewMap:function(e){var t=thisMap.getPrintSize(),i=thisMap.previewResponse;"function"==typeof e&&(i=e);var o="mapSizeW="+t.width;o+="&mapSizeH="+t.height,o+="&disposition=file";var s=OpenLayers.Util.extend({url:vworldUrls.print+"?"+o,data:thisMap.getPrintData(),headers:{"Content-Type":"text/plain"},success:i,scope:this},{method:"POST"});try{OpenLayers.Request.issue(s)}catch(e){}return!0},getPrintMap:function(){var e=thisMap.getPrintParams();e.disposition="attachment";var t=document.getElementsByTagName("body")[0],i=document.createDocumentFragment(),o=document.createElement("div");i.appendChild(o),t.insertBefore(i,t.firstChild);var s=vworldFunc._CreateElement("form");for(var n in s.method="POST",s.action=vworldUrls.print,e){var r=vworldFunc._CreateElement("input");r.type="hidden",r.name=n,r.value=e[n],s.appendChild(r)}return o.appendChild(s),s.submit(),o.removeChild(s),!0},setPrintPage:function(e){vworldVar.printpage=null!=e.page?e.page:"a4",vworldVar.printdirect=null!=e.direct?e.direct:"portrait"},getPrintPage:function(){return{page:vworldVar.printpage,direct:vworldVar.printdirect}},getPrintSize:function(){if(2==vworld.viewMode)var e=parseInt(vworldFunc._GetElement(vworldIDs.id3d).offsetWidth),t=parseInt(vworldFunc._GetElement(vworldIDs.id3d).offsetHeight);else e=parseInt(vworldFunc._GetElement(vworldIDs.id2d).offsetWidth),t=parseInt(vworldFunc._GetElement(vworldIDs.id2d).offsetHeight);return{width:e,height:t}},getPrintParams:function(){var e=thisMap.getPrintSize();return{mapSizeW:e.width,mapSizeH:e.height,params:thisMap.getPrintData()}},getPrintData:function(){thisMap.setCenter(thisMap.getCenter(),thisMap.getZoom(),!1,!0);var e=new Array,t=new Array,i=new Array,o={"OpenLayers.Geometry.Point":"Point","OpenLayers.Geometry.Polygon":"Polygon","OpenLayers.Geometry.LineString":"LineString"},s=function(e){for(var t=[],i=e.getVertices(),o=0;o0&&i.push(n);break;case"Polygon":for(var o=0;o0&&i.push(n)}break;case"LinearRing":for(o=0;o0&&i.push(n)}}return i},r=function(e,t){for(var i={},o=e.grid,s=[],n=0;n-1||(l.url=o[n][r].url,null!=l.url&&(l.position={},l.position.x=o[n][r].position.x,l.position.y=o[n][r].position.y,s.push(l)))}return i.tiles=s,i.options={},i.options.opacity=e.opacity,i.options.scale=1,t&&null!=e.tileSize.w&&e.tileSize.w>256&&(i.options.scale=e.tileSize.w/256),i},l=function(e,t,i){return{type:e,layer:t,zindex:i}},a=-1;null!=thisMap.baseLayer&&thisMap.baseLayer.getVisibility()&&(i=l("TMS",t=r(thisMap.baseLayer,!0),a++),e.push(i)),null!=thisMap.vworldHybrid&&thisMap.vworldHybrid.getVisibility()&&(i=l("TMS",t=r(thisMap.vworldHybrid,!0),a++),e.push(i));for(var p=null,d=0,h=thisMap.layers.length;d-1&&p.getVisibility()&&(i=l("TMS",t=r(p,!1),a++),e.push(i)),p.name.indexOf("TIMESERIES")>-1&&p.getVisibility()&&(i=l("TMS",t=r(p,!0),a++),e.push(i));return t=function(e,t){for(var i={features:[]},s=0;s0){var a={};a.geometries=l,a.type=r,a.style={},t?a.style=e.features[s].attributes:e.features[s].style&&(a.style=e.features[s].style),i.features.push(a)}}return i}(this.userGraphic,!0),i=l("Vector",t,a++),e.push(i),t=function(e){for(var t=[],i=0;i0;e--)this.removeControl(this.controls[e]);OpenLayers.Map.prototype.destroy.apply(this)},CLASS_NAME:"vworld.Maps"}),vworld.InfoPoint=OpenLayers.Class(OpenLayers.Control,{defaultHandlerOptions:{single:!0,double:!1,pixelTolerance:0,stopSingle:!1,stopDouble:!1},initialize:function(e){this.handlerOptions=OpenLayers.Util.extend({},this.defaultHandlerOptions),OpenLayers.Control.prototype.initialize.apply(this,arguments),this.handler=new OpenLayers.Handler.Click(this,{click:this.trigger},this.handlerOptions)},trigger:function(e){lonLatPosition=this.map.getLonLatFromPixel(e.xy),this.map._infoPointImplements(null)},CLASS_NAME:"vworld.InfoPoint"}),vworld.OverviewMap=OpenLayers.Class(OpenLayers.Control.OverviewMap,{curRes:null,minLevel:0,initialize:function(e){OpenLayers.Control.OverviewMap.prototype.initialize.apply(this,[e]),null!=this.mapOptions.minZoomLevel&&(this.minLevel=this.mapOptions.minZoomLevel)},draw:function(){if(OpenLayers.Control.prototype.draw.apply(this,arguments),0===this.layers.length){if(!this.map.baseLayer)return this.map.events.register("changebaselayer",this,this.baseLayerDraw),this.div;var e=this.map.baseLayer.clone();this.layers=[e]}if(this.element=document.createElement("div"),this.element.className=this.displayClass+"Element",this.element.style.display="none",this.mapDiv=document.createElement("div"),this.mapDiv.style.width=this.size.w+"px",this.mapDiv.style.height=this.size.h+"px",this.mapDiv.style.position="relative",this.mapDiv.style.overflow="hidden",this.mapDiv.id=OpenLayers.Util.createUniqueID("overviewMap"),this.extentRectangle=document.createElement("div"),this.extentRectangle.style.position="absolute",this.extentRectangle.style.zIndex=1e3,this.extentRectangle.className=this.displayClass+"ExtentRectangle",this.element.appendChild(this.mapDiv),this.div.appendChild(this.element),this.outsideViewport)this.element.style.display="";else{this.div.className+=" "+this.displayClass+"Container";var t=OpenLayers.Util.getImageLocation("layer-switcher-maximize.png");this.maximizeDiv=OpenLayers.Util.createAlphaImageDiv(this.displayClass+"MaximizeButton",null,null,t,"absolute"),this.maximizeDiv.style.display="none",this.maximizeDiv.className=this.displayClass+"MaximizeButton olButton",this.div.appendChild(this.maximizeDiv);t=OpenLayers.Util.getImageLocation("layer-switcher-minimize.png");this.minimizeDiv=OpenLayers.Util.createAlphaImageDiv("OpenLayers_Control_minimizeDiv",null,null,t,"absolute"),this.minimizeDiv.style.display="none",this.minimizeDiv.className=this.displayClass+"MinimizeButton olButton",this.div.appendChild(this.minimizeDiv),this.minimizeControl()}return this.map.getExtent()&&this.update(),this.map.events.on({buttonclick:this.onButtonClick,moveend:this.update,zoomend:this.update,scope:this}),this.maximized&&this.maximizeControl(),this.div},setSize:function(e,t){var i=parseInt(e,10),o=parseInt(t,10);i=i<100?100:i,o=o<90?90:o,this.size.w=i,this.size.h=o,this.ovmap.size.w=this.size.w,this.ovmap.size.h=this.size.h,this.element.style.width=this.size.w+"px",this.element.style.height=this.size.h+"px",this.mapDiv.style.width=this.size.w+"px",this.mapDiv.style.height=this.size.h+"px",this.ovmap.baseLayer.redraw(),this.update()},destroy:function(){this.mapDiv&&(this.handlers.click&&this.handlers.click.destroy(),this.handlers.drag&&this.handlers.drag.destroy(),this.mapDiv.removeChild(this.extentRectangle),this.extentRectangle=null,this.rectEvents&&(this.rectEvents.destroy(),this.rectEvents=null),this.ovmap&&(this.ovmap.destroy(),this.ovmap=null),this.element.removeChild(this.mapDiv),this.mapDiv=null,this.div.removeChild(this.element),this.element=null,this.maximizeDiv&&(this.div.removeChild(this.maximizeDiv),this.maximizeDiv=null),this.minimizeDiv&&(this.div.removeChild(this.minimizeDiv),this.minimizeDiv=null),this.map.events.un({buttonclick:this.onButtonClick,zoomend:this.update,moveend:this.update,changebaselayer:this.baseLayerDraw,scope:this}),OpenLayers.Control.prototype.destroy.apply(this,arguments))},updateOverview:function(){var e,t=this.map.getResolution(),i=this.ovmap.getResolution(),o=i/t;t!=this.curRes&&(o>this.maxRatio?i=this.minRatio*t:o<=this.minRatio&&(i=this.maxRatio*t)),t!=this.curRes&&(this.curRes=t),this.ovmap.getProjection()!=this.map.getProjection()?(e=this.map.center.clone()).transform(this.map.getProjectionObject(),this.ovmap.getProjectionObject()):e=this.map.center;var s=this.map.getZoom()-4;s0&&e.clientY-i[1]"+this.desc),""!=t){var i=new vworld.FramedCloud("vm_pop",this.lonlat,new OpenLayers.Size(150,150),t,null,!0,this.onPopupClose);this.popup=i,this.map.addPopup(this.popup)}null!=e&&OpenLayers.Event.stop(e,!0)}else this.popup.toggle()},setIconImage:function(e){this.icon.url=e},setZindex:function(e){this.icon.imageDiv.style.zIndex=e},setPosition:function(e){isNaN(e.x)?this.lonlat=new OpenLayers.LonLat(e.lon,e.lat):this.lonlat=new OpenLayers.LonLat(e.x,e.y),null!=this.popup&&(this.popup.lonlat=new OpenLayers.LonLat(this.lonlat.lon,this.lonlat.lat),this.popup.updatePosition()),this.map.userMarkers.redraw()},show:function(){this.display(!0)},hide:function(){this.display(!1)},erase:function(){null!=this.popup&&(this.map.removePopup(this.popup),this.popup.destroy(),delete this.popup),this.map=null,null!=this.events&&(this.events.destroy(),this.events=null),null!=this.icon&&(this.icon.destroy(),this.icon=null)},setFixedRelativePosition:function(e){this.fixedRelativePosition&&this.popup&&(this.popup.relativePosition=this.relativePosition,this.popup.updateRelativePosition(),this.popup.calculateRelativePosition=function(e){return this.relativePosition})},CLASS_NAME:"vworld.Marker"}),vworld.MarkerA=OpenLayers.Class(vworld.Marker,{popupClass:vworld.FramedBox,closeDisplayClass:null,overflow:"auto",popupContentHTML:null,popupSize:null,fixedRelativePosition:!1,relativePosition:"tm",closeBox:!0,autoSize:!0,initDisplay:!1,initialize:function(e,t,i,o,s,n){var r=n||new OpenLayers.Size(20,20),l=new OpenLayers.Pixel(-r.w/2,-r.h),a=null;void 0!==o?(this.thumbImage=o,a=new OpenLayers.Icon(o,r,l)):a=new OpenLayers.Icon(vworldUrlsExt.marker+vworldUrlsExt.markerimage,r,l),void 0===s&&(s=originalProj),this.lonlat=new OpenLayers.LonLat(e,t).transform(new OpenLayers.Projection(s),new OpenLayers.Projection(originalProj)),this.popupContentHTML=i,OpenLayers.Marker.prototype.initialize.apply(this,[this.lonlat,a]),this.events=new OpenLayers.Events(this,this.icon.imageDiv,null,!0,{includeXY:!0}),this.events.on({click:this.clickEventHandler,touchend:this.clickEventHandler})},showPopup:function(){if(null!=this.popup){if(null!=this.popup.map)return void this.popup.show();this.popup.destroy(),delete this.popup}if(""!=this.popupContentHTML){if(null!=this.lonlat){if(!this.popup){var e=this.popupClass?this.popupClass:OpenLayers.Popup.Anchored;this.popup=new e(this.id+"_popup",this.lonlat,this.popupSize,this.popupContentHTML,null,this.closeBox,null,this.autoSize)}null!=this.overflow&&(this.popup.contentDiv.style.overflow=this.overflow),null!=this.closeDisplayClass&&null!=this.popup&&null!=this.popup.closeDiv&&(this.popup.closeDisplayClass=this.closeDisplayClass,this.popup.closeDiv.className=this.popup.closeDisplayClass),this.setFixedRelativePosition(this.fixedRelativePosition)}this.map.addPopup(this.popup,this.initDisplay)}},clickEventHandler:function(e){if(null!=this.popup){if(null!=this.popup.map)return void this.popup.toggle();this.popup.destroy(),delete this.popup}if(""!=this.popupContentHTML){if(null!=this.lonlat){if(!this.popup){var t=this.popupClass?this.popupClass:OpenLayers.Popup.Anchored;this.popup=new t(this.id+"_popup",this.lonlat,this.popupSize,this.popupContentHTML,null,this.closeBox,null,this.autoSize)}null!=this.overflow&&(this.popup.contentDiv.style.overflow=this.overflow),null!=this.closeDisplayClass&&null!=this.popup&&null!=this.popup.closeDiv&&(this.popup.closeDisplayClass=this.closeDisplayClass,this.popup.closeDiv.className=this.popup.closeDisplayClass),this.setFixedRelativePosition(this.fixedRelativePosition)}this.map.addPopup(this.popup,this.initDisplay)}OpenLayers.Event.stop(e,!0)},CLASS_NAME:"vworld.MarkerA"}),vworld.InfoWindow=OpenLayers.Class(OpenLayers.Popup,{initialize:function(e,t,i,o,s){var n=[e,new OpenLayers.LonLat(t,i),o,s,!0];OpenLayers.Popup.prototype.initialize.apply(this,n),this.setBorder("1px dotted"),this.closeDiv.className="olInfoWindowCloseBox",this.closeDiv.style.height=this.closeDiv.style.width="10px"},setPosition:function(e,t){var i=this.map.getLayerPxFromLonLat(new OpenLayers.LonLat(e,t));this.div.style.left=i.x+"px",this.div.style.top=i.y+"px"},getPosition:function(){return{left:this.div.style.left,top:this.div.style.top}},isVisible:function(){return"none"!=this.div.style.display},CLASS_NAME:"vworld.InfoWindow"}),vworld.TileCache=OpenLayers.Class(OpenLayers.Layer.Grid,{tileOrigin:null,min_level:9,max_level:18,initialize:function(e,t,i){var o=[];o.push(e,t,{},i),this.min_level=i.min_level?i.min_level:9,this.max_level=i.max_level?i.max_level:18,OpenLayers.Layer.Grid.prototype.initialize.apply(this,o)},destroy:function(){OpenLayers.Layer.Grid.prototype.destroy.apply(this,arguments)},clone:function(e){return null==e&&(e=new vworld.TileCache(this.name,this.url,this.getOptions())),e=OpenLayers.Layer.Grid.prototype.clone.apply(this,[e])},getURL:function(e){e=this.adjustBounds(e);var t=this.map.getResolution(),i=Math.round((e.left-this.maxExtent.left)/(t*this.tileSize.w)),o=Math.round((this.maxExtent.top-e.top)/(t*this.tileSize.h)),s=this.map.getZoom();if(!(s>=this.min_level&&s<=this.max_level))return vworldUrlsExt.emptyimage;var n="/"+this.layername+"/"+s+"/"+i+"/"+o+"."+this.type,r=this.url;return r instanceof Array&&(r=this.selectUrl(n,r)),r+n},addTile:function(e,t){return new OpenLayers.Tile.Image(this,t,e,null,this.tileSize)},setMap:function(e){OpenLayers.Layer.Grid.prototype.setMap.apply(this,arguments),this.tileOrigin||(this.tileOrigin=new OpenLayers.LonLat(this.map.maxExtent.left,this.map.maxExtent.top))},CLASS_NAME:"vworld.TileCache"}),vworld.TimeCache=OpenLayers.Class(vworld.TileCache,{changeTime:function(e){if(null==e)return!1;var t=vworldTimes.times.indexOf(e);return!(t<0)&&(this.layername=e,this.url=vworldUrls.times,this.type=vworldTimes.types[t],this.initProperties(),this.clearGrid(),this.redraw(),!0)},CLASS_NAME:"vworld.TimeCache"}),OpenLayers.Feature.Vector.prototype.setColor=function(e){this.style.strokeColor=e},OpenLayers.Feature.Vector.prototype.getColor=function(){return this.style.strokeColor},OpenLayers.Feature.Vector.prototype.getBounds=function(){return this.geometry.bounds}}}catch(e){var errMsg="VWORLD Map을 초기화 할 수 없습니다.\n관리자에게 문의하십시오.\n\n[오류 내용]\n"+e.description;null!=vworld.vmap?vworld.vmap.alarmInit(errMsg):alert(errMsg)}},setupEarth:function(e,t,i){var o=vworldFunc._GetElement(e);if(null==o)return!1;var s=vworldFunc._CreateElement("div");vworldIDs.id3d=OpenLayers.Util.createUniqueID("map3d"),s.setAttribute("id",vworldIDs.id3d),s.style.cssText="display:inline-block;position:relative;width:100%;height:100%;border:0px;z-index:-1",o.appendChild(s),vworld._makeinvisible(vworldIDs.id3d,!0),sop.earth.createInstance(vworldIDs.id3d,(function(e){if(null!=t&&t(e),vearth=e,"map-first"==vworldVar.maptype?(vworldFunc._GetElement(vworldIDs.id2d).style.display="none",vworld.setMode(2)):vworld.setMode(-1),1==vworld.showMode){var i=vworldFunc._GetElement(vworldIDs.idshim);sop.earth.addEventListener(vearth,"click",(function(e){null!=i&&0==vworld.isLocked&&(i.style.display="none",i.style.display="inline-block")}))}return sop.earth.addEventListener(vearth,"lmousedown",(function(e){1==vearth.getView().getWorkMode()&&(vworldInfo.prevpixel.x=e.x,vworldInfo.prevpixel.y=e.y)})),sop.earth.addEventListener(vearth,"lmouseup",(function(e){if(1==vearth.getView().getWorkMode()&&(!("undefined"==typeof _queryFields||_queryFields.length<1)&&null==vearth.getView().getSelectObject()&&vworldInfo.prevpixel.x==e.x&&vworldInfo.prevpixel.y==e.y)){var t=e.getMapCoordinate();if(null==e.getTarget()||"SOPPoint"!=e.getTarget().getType()&&"SOPLineString"!=e.getTarget().getType()&&"SOPPolygon"!=e.getTarget().getType()){var i="";thisMap._setInfoLayerState(),i=vworldUtil.validSearchList(!0);var o=vearth.getViewCamera().getMapZoomLevel();0==i.indexOf(vworldVar.bldglayer)&&o<13||(dist=vearth.getViewCamera().getDistance(),buffer=Math.round(dist/200),vworldUtil.requestSearch(t.Longitude,t.Latitude,e.x,e.y,"EPSG:4326",i,null,null,buffer))}}})),vearth.setPluginFocus(),!0}),(function(e){return null!=i&&i(e),vearth=null,"earth-first"==vworldVar.maptype&&vworld.setMode(0),vworldFunc._GetElement(vworldIDs.idmenu).style.display=vworldFunc._GetElement(vworldIDs.idshim).style.display="none",!1}))},setLockCallback:function(e,t){"function"==typeof e&&(_lockCallBack=e),"function"==typeof t&&(_unlockCallBack=t)},setModeCallback:function(e){if(void 0===e)return!1;_modeCallBack=e},setLayerShowField:function(e){if(void 0===e)return!1;_queryFields=[];for(var t=0;t=88&&r<91);vearth.getViewCamera().stopCamNavigation(),vearth.getViewCamera().viewNorth(),vearth.getViewCamera().setTilt(88.9),l&&vworldFunc._sleep(1e3);o=vearth.getViewCamera().getDistance();var a=vearth.getViewCamera().getMapZoomLevel(),p=vearth.getViewCamera().getCenterPoint();if(null==p)return!1;var d=parseInt(vworldFunc._GetElement(vworldIDs.id3d).offsetWidth),h=parseInt(vworldFunc._GetElement(vworldIDs.id3d).offsetHeight),u=h/d,v=new OpenLayers.LonLat(p.Longitude,p.Latitude).transform(vmap.displayProjection,vmap.projection),m=o,y=.5*m,c=new OpenLayers.Bounds(v.lon-m,v.lat-y,v.lon+m,v.lat+y).getWidth()/d;return a=vmap.baseLayer.getZoomForResolution(c,!0),u>1&&a<19&&(a+=1),o=vmap.getResolutionForZoom(a)*h,vearth.getViewCamera().setDistance(o),vearth.getViewCamera().moveLonLat(p.Longitude,p.Latitude),vworldFunc._sleep(1e3),vworld._makeinvisible(vworldIDs.id2d,!0),vworld._makeinvisible(vworldIDs.id3d,!1),vmap.setCenterAndZoom(v.lon,v.lat,a),vmap.updateSize(),!0};if(vworldUtil._initInfos(),vworldFunc._isSupport()||2!=e||2==vworld.viewMode||(e=vworld.viewMode),null==vmap)return!1;if(2==e&&null==vearth)return vworld._makeinvisible(vworldIDs.id2d,!1),vworldFunc._GetElement(vworldIDs.idmenu).style.display=vworldFunc._GetElement(vworldIDs.idshim).style.display="none",vworld.setupEarth(vworldIDs.idpanel,_initCallBack,_failCallBack),!1;if(-1==e)return t(vworld.viewMode),!1;if(0==i(e)&&2==vworld.viewMode)return t(vworld.viewMode),!1;if(0==e?(vmap.serverMaxlevel=19,vmap.setBaseLayer(vmap.vworldBaseMap)):1==e?(vmap.serverMaxlevel=19,vmap.setBaseLayer(vmap.vworldRaster),null!=vmap.vworldHybrid&&vmap.HybridVisibility&&vmap.vworldHybrid.setVisibility(!0)):3==e?(vmap.serverMaxlevel=vworldVers.ServerMaxLevel,vmap.setBaseLayer(vmap.vworldGrayMap)):4==e?(vmap.serverMaxlevel=vworldVers.ServerMaxLevel,vmap.setBaseLayer(vmap.vworldMidnightMap)):5==e&&(vmap.serverMaxlevel=vworldVers.ServerMaxLevel,vmap.setBaseLayer(vmap.vworldWhiteMap)),2!=e&&0==vworld._2dCalled){var o=vworldFunc._CreateElement("script");o.setAttribute("type","text/javascript"),o.setAttribute("src",vworldUrls.apiCheck),o.setAttribute("async",!1),document.getElementsByTagName("head")[0].appendChild(o),document.getElementsByTagName("head")[0].removeChild(o),vworld._2dCalled=!0}t(e),t=null,i=null},getMode:function(){return vworld.viewMode},Lock:function(){if(vworld.isLocked=!0,null!=vworldFunc._GetElement(vworldIDs.idmenu)&&vworldFunc._GetElement(vworldIDs.idshim)&&(vworldFunc._GetElement(vworldIDs.idmenu).style.display=vworldFunc._GetElement(vworldIDs.idshim).style.display="none"),"function"==typeof _lockCallBack)try{_lockCallBack()}catch(e){}},unLock:function(){if(vworld.isLocked=!1,null!=vworldFunc._GetElement(vworldIDs.idmenu)&&vworldFunc._GetElement(vworldIDs.idshim)&&(vworldFunc._GetElement(vworldIDs.idmenu).style.display=vworldFunc._GetElement(vworldIDs.idshim).style.display=vworld.showMode?"inline-block":"none"),"function"==typeof _unlockCallBack)try{_unlockCallBack()}catch(e){}},is3D:function(){return 2==vworld.viewMode},isLoaded3D:function(){return null!=vearth},init:function(e,t,i,o,s){!function(){var n=function(e){var t=vworldFunc._GetElement(e),i=vworldFunc._CreateElement("iframe");i.frameBorder="0",i.scrolling="no",vworldIDs.idshim=OpenLayers.Util.createUniqueID("iframeshim"),i.id=vworldIDs.idshim,i.style.position="absolute",i.style.display="none",i.style.overflow="hidden",i.style.opacity=0,i.style.filter="progid:DXImageTransform.Microsoft.Alpha(style=0,opacity=0)",i.style.zIndex=1e3,i.title="지도화면전환",i.src=(navigator.userAgent.indexOf("MSIE 6"),""),vworldIDs.idmenu=OpenLayers.Util.createUniqueID("menu-panel"),vworldIDs.idmode[0]=OpenLayers.Util.createUniqueID("menu-mode1"),vworldIDs.idmode[1]=OpenLayers.Util.createUniqueID("menu-mode2"),vworldIDs.idmode[2]=OpenLayers.Util.createUniqueID("menu-mode3");var o=vworldFunc._CreateElement("div");o.id=vworldIDs.idmenu,o.style.display="none",o.style.position=i.style.position="absolute",o.style.left=i.style.left="4px",o.style.top=i.style.top="4px",o.style.width=i.style.width="67px",o.style.height=i.style.height="132px",o.style.overflow="hidden",o.onmouseout=function(){vworldFunc._ShimResize("off")},o.onmouseover=function(){vworldFunc._ShimResize("on")},o.style.zIndex=1001,o.innerHTML+='
',o.innerHTML+='
',o.innerHTML+='',t.appendChild(o),t.appendChild(i),vworldFunc._ShimResize("off")};if(this.isLoaded){if(null!=this.vmap&&(this.vmap=null),"true"!=vworldIsValid){var r="[인증실패] "+vworldErrMsg+"\n";r+="=======================================\n",r+="지도서비스 사용에 제약이 있을 수 있습니다.\n",r+="인증키 재발급 후 다시 시도하여 주십시오.\n",alert(r)}vworld.useChart&&vworldFunc._loadExtLibs(vworldChartfiles,(function(){})),vworld.isMobile=vworldFunc._isMobile(),(vworld.hideNotice||vworld.isMobile)&&(vworld.enums.COMMON_NOTICE="",vworld.enums.COMMON_NOTICE_R=""),vworldFunc._loadExtLibs(include2DApi,(function(){}));var l=0,a=vworldFunc._GetElement(e);if(null==a)return;vworldVar.maptype=t;var p=vworldFunc._CreateElement("div");vworldIDs.idpanel=OpenLayers.Util.createUniqueID("map-panel"),p.setAttribute("id",vworldIDs.idpanel),p.style.cssText="width:100%;height:100%;z-index:0;";var d=vworldFunc._CreateElement("div");vworldIDs.id2d=OpenLayers.Util.createUniqueID("map2d"),d.setAttribute("id",vworldIDs.id2d),d.style.cssText="display:inline-block;position:relative;width:100%;height:100%;border:0px;z-index:1;",p.appendChild(d),vworld._makeinvisible(vworldIDs.id2d,!0);var h=vworldFunc._CreateElement("div");vworldIDs.idloading=OpenLayers.Util.createUniqueID("map-load"),h.setAttribute("id",vworldIDs.idloading),h.setAttribute("class","olMapProgress"),h.style.cssText="display:none;position:absolute;width:200px;height:40px;z-index:2;top:45%;left:35%;",p.appendChild(h),a.appendChild(p),this.vmap=new vworld.Maps(vworldIDs.id2d,null),n(e),vworldFunc._isSupport()||0==vworldVar.maptype.indexOf("earth")&&(alert(vworld.enums.NOT_SUPPORT_NOTICE),vworld.viewMode=l=0,vworldVar.maptype="map-first"),i(),_initCallBack=null,_failCallBack=null,0==vworldVar.maptype.indexOf("raster")?null==vmap.vworldRaster?vworld.viewMode=l=0:(vworld.viewMode=l=1,vmap.vworldHybrid.setVisibility(!0)):0==vworldVar.maptype.indexOf("gray")?(vworld.viewMode=l=3,vworld.showMode=!1):0==vworldVar.maptype.indexOf("white")?(vworld.viewMode=l=5,vworld.showMode=!1):0==vworldVar.maptype.indexOf("midnight")&&(vworld.viewMode=l=4,vworld.showMode=!1),"earth-base"==vworldVar.maptype&&(vworldVar.maptype="earth-only"),"first"!=vworldVar.maptype.slice(-5)&&0!=vworldVar.maptype.indexOf("earth")||(_initCallBack=o,_failCallBack=s,0==vworldVar.maptype.indexOf("earth")&&(vworld.viewMode=l=2),2==vworld.viewMode&&vworld._makeinvisible(vworldIDs.id2d,!1)),"only"==vworldVar.maptype.slice(-4)&&(vworld.showMode=!1),vworld.setMode(l)}else setTimeout(arguments.callee,50);n=null}()},CLASS_NAME:"vworld"},vworld.enums={COMMON_NOTICE:"",COMMON_NOTICE_R:"",JIJUK_VISIBLE_NOTICE:"",JIJUK_INVISIBLE_NOTICE:"",JIJUK_INVISIBLE_NOTICE_R:"",NOT_SUPPORT_NOTICE:"3D 플러그인은 사용하시는 브라우저를 지원하지 않습니다.\n지원일정은 브이월드 홈페이지를 참조하여 주십시오.\n사용에 불편을 드려 죄송합니다.",NOT_SUPPORT_MOBILE:"공간정보오픈플랫폼 지도는 모바일 브라우저에 최적화 되지 않았습니다.",POP_FRAME_ID:"mappop_info",POP_CALLBACK_FRAME_ID:"mappop",POP_CONTENT_ID:"mappop_html"},vworld.pops=[vworld.enums.POP_FRAME_ID,vworld.enums.POP_CALLBACK_FRAME_ID,vworld.enums.POP_CONTENT_ID],vworldFunc._linkExtStyle(vworldUrlsExt.css),vworldFunc._loadExtLibs(vworldDefaultfiles,vworld.setupMap)})();