//////////////////////////////////////////////////////////////////////////////// // // Comment: 공통으로 사용되는 MAP EVENT 및 Function 들을 정의한다. // ex) 지도 아래의 기능 ICON에 대한 함수 정의. // //////////////////////////////////////////////////////////////////////////////// //------------------------------------------------------------------------------ // MAP EVENT - OnCreate - 에 대한 처리 //------------------------------------------------------------------------------ function MapEvent_OnCreate(Flag) { // alert("OnCreate() Event"); m_Map.TraceMessage("OnCreate"); var ctrl = m_Map.GetCtrlMan(); var mapman = ctrl.GetMapMan(); var thememan = ctrl.GetThemeMan(); var adminman = ctrl.GetAdminMan(); var ctrlstate = ctrl.GetControlState(); var badminman = ctrl.GetBAdminMan(); // ctrlman에 Path를 지정하면, Path를 지정하지 않은, Manager의 기본 Path가 된다. ctrl.SetDefaultPath(defaultURL); if (!ctrl.LoadLicense("http://www.smartmap.co.kr/TalMap/TalMap.TML")) { alert("License Load Error!!"); } if (!mapman.SetDefaultPath(defaultMapDataPath)) { // alert(mapman.GetDefaultPath()); alert("Map Data Path를 지정하지 못했습니다."); } thememan.SetDefaultPath(defaultThemePath); if (thememan.LoadTheme(defaultThemeFile) != true) { alert("Theme를 Loading하지 못했습니다."); } if (adminman.LoadAdmin(tmaDataPath) != true) { alert("TMA Data를 Loading하지 못했습니다."); } if (badminman.LoadAdmin(tmbDataPath) != true) { alert("TMB Data를 Loading 하지 못했습니다."); } ctrlstate.SetLLCenter(lon_samsung, lat_samsung); ctrlstate.SetLevel(2); ctrlstate.SetZoomScale(1); m_Map.GetCtrlMan().GetUIMan().SetShowCompass(0); //ChangeLevelButtonImage(); ctrl.SetDefaultEventMode(m_Map.GetUtility().GetConstToValue("TMEVENTTYPE_MOUSEUP") | m_Map.GetUtility().GetConstToValue("TMEVENTTYPE_MOUSEMOVE")); //미세줌 세팅 ctrlstate.SetState(34, 1); //ctrl.GetUIMan().SetShowLevelBar(1); } //------------------------------------------------------------------------------ // MAP EVENT - OnKeyDown - 에 대한 처리 //------------------------------------------------------------------------------ function MapEvent_OnKeyDown(Code, RepCnt, Flag) { // alert("OnKeyDown() Event"); alert("OnKeyDown; Code: " + Code + ", RepCnt: " + RepCnt + ", Flag: " + Flag); } //------------------------------------------------------------------------------ // MAP EVENT - OnMouseDblClick - 에 대한 처리 //------------------------------------------------------------------------------ function MapEvent_OnMouseDblClick(Flag, X, Y) { // alert("OnMouseDblClick() Event"); alert("OnMouseDblClick; Flag: " + Flag + ", X: " + X + ", Y: " + Y); } //------------------------------------------------------------------------------ // MAP EVENT - OnMouseDown - 에 대한 처리 //------------------------------------------------------------------------------ function MapEvent_OnMouseDown(Flag, X, Y) { // alert("OnMouseDown() Event"); var posLL = m_Map.GetCtrlMan().GetControlState().GetLLCenter(); var msg; if (Flag == 1) msg = "LEFT; "; else msg = "RIGHT; "; msg += "Flag(" + Flag + "), 화면 좌표(" + X + ", " + Y + "), 경위도(" + posLL.x + ", " + posLL.y + ")"; window.status = msg; } //------------------------------------------------------------------------------ // MAP EVENT - OnMouseUp - 에 대한 처리 //------------------------------------------------------------------------------ function MapEvent_OnMouseUp(Flag, X, Y) { alert("OnMouseUp Event; Flag(" + Flag + "), 화면 좌표(" + X + ", " + Y + ")"); } //------------------------------------------------------------------------------ // MAP EVENT - OnMouseMove - 에 대한 처리 //------------------------------------------------------------------------------ function MapEvent_OnMouseMove(Flag, X, Y) { //alert("MapEvent_OnMouseMove()"); var ctrlman = m_Map.GetCtrlMan() var ctrlstate = ctrlman.GetControlState() var posLL = ctrlstate.DPToLL(X, Y) window.status = "Flag: " + Flag + ", 화면 좌표(" + X + ", " + Y + "), 경위도(" + posLL._x + ", " + posLL._y + ")" } //------------------------------------------------------------------------------ // MAP EVENT - OnMouseWheel - 에 대한 처리 //------------------------------------------------------------------------------ function MapEvent_OnMouseWheel(Flag, Delta, X, Y) { alert("OnMouseWheel; Flag(" + Flag + "), Delta(" + Delta + "), 화면좌표(" + X + "," + Y + ")"); } //------------------------------------------------------------------------------ // MAP EVENT - OnStateChange - 에 대한 처리 //------------------------------------------------------------------------------ function MapEvent_OnStateChange(Code, Value1, Value2) { var util = m_Map.GetUtility(); if (Code == util.GetConstToValue("TMCHECKCONFIG_LEVEL")) { ChangeLevelButtonImage(); } else if (Code == util.GetConstToValue("TMCHECKCONFIG_ROTATION")) { } else { } } //------------------------------------------------------------------------------ // MAP EVENT - OnClickNotify - 에 대한 처리 //------------------------------------------------------------------------------ function MapEvent_OnClickNotify(Type, X, Y) { // alert("ClickNotify : " + Type + "," + X + "," + Y); } //------------------------------------------------------------------------------ //------------------------------------------------------------------------------ // Zoom In //------------------------------------------------------------------------------ var maxLogicalLevel = 13 - 1; // Map Max Level var minLogicalLevel = 0; // Map Min Level function Map_ZoomIn() { var ctrlman = m_Map.GetCtrlMan(); var ctrlstate = ctrlman.GetControlState(); if (ctrlstate.GetLevel() > minLogicalLevel) { ctrlstate.SetLevel(ctrlstate.GetLevel() - 1); } } //------------------------------------------------------------------------------ // Zoom Out //------------------------------------------------------------------------------ function Map_ZoomOut() { var ctrlman = m_Map.GetCtrlMan(); var ctrlstate = ctrlman.GetControlState(); if (ctrlstate.GetLevel() < maxLogicalLevel) { ctrlstate.SetLevel(ctrlstate.GetLevel() + 1); } } //------------------------------------------------------------------------------ //MapRefresh //------------------------------------------------------------------------------ function Map_Refresh() { var ctrlman = m_Map.GetCtrlMan(); var ctrlstate = ctrlman.GetControlState(); var util = m_Map.GetUtility(); var rect = ctrlstate.GetDPRect(); var ntype = util.GetConstToValue("NU_ALL"); var layerman = ctrlman.GetLayerMan(); if(layerman!=null) layerman.ClearLayer(); var poiman = ctrlman.GetPOIMan(); poiman.ClearGroup(); poiman.ClearStyle(); var thememan = ctrlman.GetThemeMan(); thememan.SetDefaultPath(defaultThemePath); thememan.LoadTheme(defaultThemeFile); //GPS var carman = ctrlman.GetCarMan(); var gpsman = ctrlman.GetGPSMan(); if(carman.GetSyncGPSMan()==1)//GPSMan과 연동(1) { carman.SetVisible(0); gps.GPSStop(); gps.gpsInfoSetVisible(0); gps.SetGPSVisible(0); } var compass = uiman.GetCompass(); compass.SetAngle(0); ctrlman.NeedUpdate(ntype, rect); } //------------------------------------------------------------------------------ // Set Map Level //------------------------------------------------------------------------------ function Map_SetLevel(level) { //alert("SetMapLevel("+level+")"); if (level < minLogicalLevel) return; if (level > maxLogicalLevel) return; var ctrlman = m_Map.GetCtrlMan(); var ctrlstate = ctrlman.GetControlState(); ctrlstate.SetLevel(level); } //------------------------------------------------------------------------------ // Rotate Map //------------------------------------------------------------------------------ function Map_Rotate() { var ctrlman = m_Map.GetCtrlMan(); ctrlman.SetMapRotation(1); } //------------------------------------------------------------------------------ // Set Map Bird View //------------------------------------------------------------------------------ function Map_BirdView() { var ctrlman = m_Map.GetCtrlMan() var ctrlstate = ctrlman.GetControlState() var v = ctrlstate.GetRotate() if (v.GetX() != 0) { v.SetX(0); } else { v.SetX(-60); } ctrlstate.SetRotate(v) } //------------------------------------------------------------------------------ //------------------------------------------------------------------------------ // Change Level Button Image //------------------------------------------------------------------------------ function ChangeLevelButtonImage() { var ctrlman = m_Map.GetCtrlMan(); var ctrlstate = ctrlman.GetControlState(); var imgid = "slevel"; for (i = 0 ; i <= maxLogicalLevel; i++){ num = i; if (num < 10){ num = "0"+i; } if (i == ctrlstate.GetLevel()) { eval(imgid+num).src = "./image/icon/z"+num+"_on.gif"; } else { eval(imgid+num).src = "./image/icon/z"+num+".gif"; } } } //------------------------------------------------------------------------------ //------------------------------------------------------------------------------ // Show Theme Form //------------------------------------------------------------------------------ function ShowThemeForm() { //alert("ShowTheme()"); var ctrlman = m_Map.GetCtrlMan(); var thememan = ctrlman.GetThemeMan(); thememan.ShowForm(); } //------------------------------------------------------------------------------ //------------------------------------------------------------------------------ // AntiAliasing //------------------------------------------------------------------------------ function SetAntiAliasing(newValue) { var ctrlman = m_Map.GetCtrlMan(); var ctrlstate = ctrlman.GetControlState(); var currentVal = ctrlstate.GetAntiAliasing(); if (newValue != currentVal) { ctrlstate.SetAntiAliasing(newValue); if (newValue) { alert("ToolMap Control에 AntiAliasing이 적용되었습니다!!"); } else { alert("ToolMap Control의 AntiAliasing이 해제되었습니다!!"); } } } //------------------------------------------------------------------------------ //------------------------------------------------------------------------------ // History 뒤로 //------------------------------------------------------------------------------ function HistoryPrev() { var ctrlman = m_Map.GetCtrlMan(); var ctrlstate = ctrlman.GetControlState(); ctrlstate.HistoryPrev(); } //------------------------------------------------------------------------------ //------------------------------------------------------------------------------ // History 앞으로 //------------------------------------------------------------------------------ function HistoryNext() { var ctrlman = m_Map.GetCtrlMan(); var ctrlstate = ctrlman.GetControlState(); ctrlstate.HistoryNext(); } //------------------------------------------------------------------------------ //------------------------------------------------------------------------------ // 맵 글씨 표시 //------------------------------------------------------------------------------ function ViewText() { /*var mapman = m_Map.GetCtrlMan().GetMapMan(); if (mapman.GetVisible() == 1) { mapman.SetVisible(3); } else if (mapman.GetVisible() == 3) { mapman.SetVisible(1); } */ var mapman = m_Map.GetCtrlMan().GetMapMan(); if (mapman.GetVisible() == 7) { mapman.SetVisible(5); } else if (mapman.GetVisible() == 5) { mapman.SetVisible(7); } } //------------------------------------------------------------------------------ //------------------------------------------------------------------------------ // 빌딩 3D 보기 //------------------------------------------------------------------------------ function View3D() { var ctrlman = m_Map.GetCtrlMan(); var ctrlstate = ctrlman.GetControlState(); var util = m_Map.GetUtility(); var StateType = util.GetConstToValue("TMCTRLSTATE_DISPLAY_BUILDING_TYPE"); var type = ctrlstate.GetState(StateType); switch(type) { case 1: ctrlstate.SetState(StateType, util.GetConstToValue("TMCTRLSTATE_CODE_BUILDING_3D_MASK")); break; case 16: ctrlstate.SetState(StateType, util.GetConstToValue("TMCTRLSTATE_CODE_BUILDING_3D_1")); break; case 17: ctrlstate.SetState(StateType, util.GetConstToValue("TMCTRLSTATE_CODE_BUILDING_3D_2")); break; case 18: ctrlstate.SetState(StateType, util.GetConstToValue("TMCTRLSTATE_CODE_BUILDING_NORMAL")); break; default: ctrlstate.SetState(StateType, util.GetConstToValue("TMCTRLSTATE_CODE_BUILDING_NORMAL")); break; } ctrlstate.SetState(util.GetConstToValue("TMCTRLSTATE_DISPLAY_BUILDING_3D_SCALE"), 8); } //------------------------------------------------------------------------------ //------------------------------------------------------------------------------ // 클립보드에 지도 이미지 복사 //------------------------------------------------------------------------------ function CopyToClipboard() { m_Map.CopyToClipboard(); alert("클립보드에 저장하였습니다."); } //------------------------------------------------------------------------------ //------------------------------------------------------------------------------ // 이미지 저장 //------------------------------------------------------------------------------ function SaveImage() { var util = m_Map.GetUtility(); var filename = util.SaveImageDialog("D:\\", "MapImage.png"); var result = m_Map.SaveImage(filename); //if (!result) alert("이미지 저장에 실패하였습니다"); } //------------------------------------------------------------------------------ //------------------------------------------------------------------------------ // 프린트 //------------------------------------------------------------------------------ function Print() { var ctrlman = m_Map.GetCtrlMan(); var ctrlstate = ctrlman.GetControlState(); var point = ctrlstate.GetLLCenter(); var adminman = ctrlman.GetAdminMan(); var adminItem = adminman.GetAdminItem(point._X, point._Y); var adminName = ""; var pop_x=0, pop_y=0; var popW = 649; var popH = 644; pop_x = (screen.width - popW )/2; pop_y = (screen.height - popH)/2; if(adminItem) adminName = adminItem.GetAdminName(" ", 3); var util = m_Map.GetUtility(); m_Map.SaveImage("C:\\update.png"); window.open("./print.php?adminName="+adminName, 'winbench', 'scrollbars=no,menubar=no,width='+popW+',height='+popH+',left='+pop_x+',top='+pop_y); //window.open("http://www.smartmap.co.kr/newmap/print.php?adminName="+adminName, 'winbench', 'scrollbars=no,menubar=no,width=650,height=644'); } //------------------------------------------------------------------------------ //------------------------------------------------------------------------------ // POI 생성 //------------------------------------------------------------------------------ function MakePOIs(groupID, itemCount) { var ctrlMan = m_Map.GetCtrlMan(); var ctrlstate = ctrlMan.GetControlState(); var poiMan = ctrlMan.GetPOIMan(); var util = m_Map.GetUtility(); // Step 1. Make POI Group var poiGroup = poiMan.FindGroup(groupID); if (!poiGroup) { poiGroup = poiMan.NewGroup(groupID); } // Step 1-1. Make POI Style var gstyle = poiMan.NewStyle(-1); // -1: 아이디 자동 생성 gstyle.SetGDIFont("굴림", 0, 8); gstyle.SetFontColor(util.RGBColor(255, 0, 0)); gstyle.SetFontOutColor(util.RGBColor(255, 255, 255)); gstyle.SetBrush(util.RGBColor(100, 0, 255), 0); gstyle.SetPen(util.RGBColor(0, 0, 0), 1, 0); // Group에 Style을 지정하면 하위 Item은 별도의 Style을 가지지 않는 한 Group의 Style을 따르게 된다. poiGroup.SetStyle(gstyle); var style = poiMan.NewStyle(-1); style.SetGDIFont("굴림", 0, 8); style.SetFontColor(util.RGBColor(0, 0, 0)); style.SetFontOutColor(util.RGBColor(255, 255, 255)); style.SetBrush(util.RGBColor(100, 0, 255), 0); style.SetPen(util.RGBColor(0, 0, 0), 1, 0); // Step 2. Make POI Items var centerLL = ctrlstate.GetLLCenter(); // 지도의 중심 좌표 var path = ctrlMan.ExpandPathFromRoot("Image", "CAR.png"); for (i = 0 ; i < itemCount ; i++) { var item = poiGroup.NewItem(-1); // -1: 아이디 자동 생성 item.SetLonLat(centerLL.X + i * 250, centerLL.Y - i * 250) if (item.LoadImageListFromFile("POI_" + (i + 1), path, 64, 64)) { item.SetShowImage(1); item.SetImageIndex(1); item.SetImageOffset(4); item.SetTextStyle(0x12); if (i % 2) { item.SetStyle(style); } item.SetCaption("[" + i + "]Test POI"); item.SetContents("[" + i + "] Contents\nHello"); item.SetAnimation(200); // 1초 단위 item.SetAngle(i*10); item.SetAlpha(50); } else { alert("POI Item의 이미지 설정에 실패하였습니다.!!"); } } } //------------------------------------------------------------------------------ // POI 제거 //------------------------------------------------------------------------------ function RemovePOIs() { // alert("RemovePOIs()"); var ctrlMan = m_Map.GetCtrlMan(); var poiMan = ctrlMan.GetPOIMan(); var countOfPOIGroup = poiMan.GetGroupCount(); if (countOfPOIGroup > 0) { alert("POI Group " + countOfPOIGroup + "개를 제거합니다!!"); poiMan.ClearGroup(); } else { alert("제거할 POI가 없습니다!!"); } } //------------------------------------------------------------------------------ //------------------------------------------------------------------------------ // LayerShape 생성 //------------------------------------------------------------------------------ function MakeLayerShape(layerID) { // alert("MakeLayerShape"); var ctrlMan = m_Map.GetCtrlMan(); var ctrlstate = ctrlMan.GetControlState(); var layerMan = ctrlMan.GetLayerMan(); var util = m_Map.GetUtility(); var centerLL = ctrlstate.GetLLCenter(); // 지도의 중심 좌표 // Step 1. Make Layer Style var style = layerMan.NewStyle(-1); style.SetPen(util.RGBColor(255, 0, 0), 1, util.GetConstToValue("PS_SOLID")); style.SetBrush(util.RGBColor(0, 0, 255), util.GetConstToValue("BS_SOLID")); // Step 2. Make Layer Shape var shape = layerMan.NewShape(layerID, -1); shape.BeginUpdate(); shape.SetMapPos(centerLL.X, centerLL.Y, 0); shape.SetAngle(0, 0, 90); shape.AddPoint(0, -30); shape.AddPoint(-26, -4); shape.AddPoint(-13, -4); shape.AddPoint(-13, 19); shape.AddPoint(13, 19); shape.AddPoint(13, -4); shape.AddPoint(26, -4); shape.SetStyle(style); shape.EndUpdate(); } //------------------------------------------------------------------------------ // LayerPolygon 생성 //------------------------------------------------------------------------------ function MakeLayerPolygon(layerID) { // alert("MakeLayerPolygon"); var ctrlMan = m_Map.GetCtrlMan(); var ctrlstate = ctrlMan.GetControlState(); var layerMan = ctrlMan.GetLayerMan(); var util = m_Map.GetUtility(); var centerLL = ctrlstate.GetLLCenter(); // 지도의 중심 좌표 // Step 1. Make Layer Style var style = layerMan.NewStyle(-1); style.SetPen(util.RGBColor(255, 0, 0), 0.3, util.GetConstToValue("PS_SOLID")); style.SetBrush(util.RGBAColor(0, 0, 255, 100), util.GetConstToValue("BS_SOLID")); // Step 2. Make Layer Polygon // How To 01..... LayerMan에서 Layer를 생성한 뒤 Object를 생성하는 방법 var layer = layerMan.FindLayer(layerID); if (!layer) { layer = layerMan.NewLayer(layerID); } var polygon = layer.NewPolygon(-1); /* How To 02..... LayerMan에서 바로 Object를 생성하는 방법 var polygon = layerMan.NewPolygon(layerID, -1); */ polygon.BeginUpdate(); polygon.AddPoint(centerLL.X + 100, centerLL.Y + 100); polygon.AddPoint(centerLL.X + 100, centerLL.Y + 500); polygon.AddPoint(centerLL.X + 500, centerLL.Y + 500); polygon.AddPoint(centerLL.X + 500, centerLL.Y + 100); polygon.SetClosed(1); // 0: PolyLine, 1: Polygon polygon.SetStyle(style); polygon.EndUpdate(); } //------------------------------------------------------------------------------ // LayerPolyLine 생성 //------------------------------------------------------------------------------ function MakeLayerPolyLine(layerID) { // alert("MakeLayerPolygon"); var ctrlMan = m_Map.GetCtrlMan(); var ctrlstate = ctrlMan.GetControlState(); var layerMan = ctrlMan.GetLayerMan(); var util = m_Map.GetUtility(); var centerLL = ctrlstate.GetLLCenter(); // 지도의 중심 좌표 // Step 1. Make Layer Style var style = layerMan.NewStyle(-1); style.SetPen(util.RGBColor(255, 0, 0), 1, util.GetConstToValue("PS_SOLID")); // Step 2. Make Layer PolyLine var polygon = layerMan.NewPolygon(layerID, -1); polygon.BeginUpdate(); polygon.AddPoint(centerLL.X + 100, centerLL.Y + 100); polygon.AddPoint(centerLL.X + 100, centerLL.Y + 500); polygon.AddPoint(centerLL.X + 500, centerLL.Y + 500); polygon.AddPoint(centerLL.X + 500, centerLL.Y + 100); polygon.SetClosed(0); // 0: Line, 1: Polygon polygon.SetStyle(style); polygon.EndUpdate(); } //------------------------------------------------------------------------------ // Layer 제거 //------------------------------------------------------------------------------ function RemoveLayer() { var ctrlMan = m_Map.GetCtrlMan(); var layerMan = ctrlMan.GetLayerMan(); layerMan.ClearLayer(); } //------------------------------------------------------------------------------ //------------------------------------------------------------------------------ // Draw LayerPolygon //------------------------------------------------------------------------------ function DrawPolygon() { var ctrlMan = m_Map.GetCtrlMan(); var layerMan = ctrlMan.GetLayerMan(); var util = m_Map.GetUtility(); var style = layerMan.NewStyle(-1); style.SetPen(util.RGBColor(0, 0, 255), 2, util.GetConstToValue("PS_SOLID")); style.SetBrush(util.RGBAColor(0, 0, 255, 100), util.GetConstToValue("BS_SOLID")); var obj = layerMan.NewPolygon(1, -1); obj.SetStyle(style); obj.SetClosed(1); obj.SetCanClick(1); obj.SetCanFocus(1); obj.SetStateModeNew(); } //------------------------------------------------------------------------------ // Draw LayerPolyline //------------------------------------------------------------------------------ function DrawPolyline() { var ctrlMan = m_Map.GetCtrlMan(); var layerMan = ctrlMan.GetLayerMan(); var util = m_Map.GetUtility(); //var uiman = m_Map.GetUIMan(); //uiman.SetMessage("오른쪽 마우스를 클릭하면 종료 됩니다.", 1000); var style = layerMan.NewStyle(-1); style.SetPen(util.RGBColor(0, 0, 255), 2, util.GetConstToValue("PS_DOT")); var obj = layerMan.NewPolygon(1, -1); obj.SetStyle(style); obj.SetClosed(0); obj.SetCanClick(1); obj.SetCanFocus(1); obj.SetStateModeNew(); } //------------------------------------------------------------------------------ // Lyaer Object 삭제 //------------------------------------------------------------------------------ function RemovePolygon() { var ctrlMan = m_Map.GetCtrlMan(); var layerMan = ctrlMan.GetLayerMan(); var layer = layerMan.FindLayer(1); var poiman = ctrlMan.GetPOIMan(); if (layer) { layer.ClearObject(); } var group = poiman.FindGroup(100); if(group) { group.ClearItem(); group.ClearStyle(); } } //------------------------------------------------------------------------------ // 면적 구하기 //------------------------------------------------------------------------------ function CheckArea() { var ctrlMan = m_Map.GetCtrlMan(); var layerMan = ctrlMan.GetLayerMan(); var util = m_Map.GetUtility(); var style = layerMan.NewStyle(-1); style.SetPen(util.RGBColor(0, 0, 255), 2, util.GetConstToValue("PS_SOLID")); style.SetBrush(util.RGBAColor(0, 0, 255, 100), util.GetConstToValue("BS_SOLID")); var obj = layerMan.NewPolygon(2, -1); obj.SetStyle(style); obj.SetClosed(1); obj.SetShowDistance(0); obj.SetShowArea(1); obj.SetCanClick(1); obj.SetCanFocus(1); obj.SetStateModeNew(); } //------------------------------------------------------------------------------ // 거리 구하기 //------------------------------------------------------------------------------ function CheckDistance() { var ctrlMan = m_Map.GetCtrlMan(); var layerMan = ctrlMan.GetLayerMan(); var util = m_Map.GetUtility(); var style = layerMan.NewStyle(-1); style.SetPen(util.RGBColor(0, 0, 255), 2, util.GetConstToValue("PS_SOLID")); var obj = layerMan.NewPolygon(2, -1); obj.SetStyle(style); obj.SetClosed(0); obj.SetShowDistance(1); obj.SetShowArea(0); obj.SetCanClick(1); obj.SetCanFocus(1); obj.SetStateModeNew(); } //------------------------------------------------------------------------------ // 면전,거리 object 삭제 //------------------------------------------------------------------------------ function DelDistance() { var ctrlMan = m_Map.GetCtrlMan(); var layerMan = ctrlMan.GetLayerMan(); var layer = layerMan.FindLayer(2); if (layer) { layer.ClearObject(); } } //------------------------------------------------------------------------------ // Object 객체 편집 //------------------------------------------------------------------------------ function ObjectModify() { var ctrlman = m_Map.GetCtrlMan(); var layerman = ctrlman.GetLayerMan(); var util = m_Map.GetUtility(); var baseman = layerman.CastToBaseManager(); if (baseman.GetManMode() == util.GetConstToValue("TMMAN_MODE_EDIT")) { baseman.SetManMode(util.GetConstToValue("TMMAN_MODE_NONE")); } else { baseman.SetManMode(util.GetConstToValue("TMMAN_MODE_EDIT")); } } //----------------------------------------------------------------------------- //----------------------------------------------------------------------------- // 행정동 명칭 구하기 //----------------------------------------------------------------------------- //------------------------------------------------------------------------------ function DrawAdminPolygon(adminItem) { var ctrlMan = m_Map.GetCtrlMan(); var util = m_Map.GetUtility(); var layerMan = ctrlMan.GetLayerMan(); var style = layerMan.FindStyle(1500); if (style == null) { style = layerMan.NewStyle(1500); style.SetPen(util.RGBColor(255, 0, 0), 1, util.GetConstToValue("PS_SOLID")); style.SetBrush(util.RGBAColor(0, 255, 255, 100), util.GetConstToValue("BS_SOLID")); } var layer = layerMan.FindLayer(20000); if (layer != null) layer.ClearObject(); if (layer == null) { layer = layerMan.NewLayer(20000); } var obj = layer.NewPolygon(-1); obj.BeginUpdate(); obj.SetClosed(1); obj.SetCanFocus(1); obj.SetStyle(style); obj.SetShowArea(0); obj.SetAdminShape(adminItem, 0); obj.EndUpdate(); } //----------------------------------------------------------------------------- //Theme 변경 //----------------------------------------------------------------------------- function ThemeChange(type) { var thememan = m_Map.GetCtrlMan().GetThemeMan(); thememan.SetDefaultPath(defaultThemePath); if (type == "1"){ thememan.LoadTheme(defaultThemeFile); } else if (type == "2"){ thememan.LoadTheme(nightThemeFile); } else if (type == "3"){ thememan.LoadTheme(grayThemeFile); } }