var define ={
i_Side:302,
i_PoiSearch:303,
i_JibunSearch:304,
i_NJibunSearch:305,
i_AreaBtn:400,
i_AreaOk:0,
i_AreaCancel:0,
i_Tutorial:0,
i_Aliasing_on:0,
i_Aliasing_off:0,
i_Notice:0,
i_Toolbar:20,
i_BtnTool:30,
i_LevelBar:1,
i_ZoomOut:2,
i_ZoomIn:3,
i_ToolClip:50,
i_ThemeBase:0,
i_ThemeNight:0,
i_ThemeGray:0,
i_GPS:6
};
var ctrlman, uiman, ctrlstate, util;
//-------------------------------------------------------------------------
function CreateButton(id, parent, imgPath, width, height, x, y){
var pObj = uiman.CreateUI_Button(uiman);
pObj.SetParent(parent);
pObj.SetUIID(id);
pObj.SetAlpha(0);
pObj.SetCanDrag(0);
pObj.SetImageList(imgPath, width, height);
pObj.SetBound(x, y, width, height);
pObj.SetImageAutoChange(0);
pObj.SetItemIndex(0);
pObj.AddEventMode(util.GetConstToValue("TMEVENTTYPE_MOUSEENTER"));
return pObj;
}
//-------------------------------------------------------------------------
function CreateUIImage(id, parent, imgPath, width, height, x, y){
var pObj = uiman.CreateUI_Image(uiman);
pObj.SetParent(parent);
pObj.SetUIID(id);
pObj.SetAlpha(0);
pObj.SetCanDrag(0);
pObj.SetImage(imgPath);
pObj.SetBound(x, y, width, height);
pObj.SetCanClick(true);
pObj.AddEventMode(util.GetConstToValue("TMEVENTTYPE_MOUSEENTER"));
return pObj;
}
//-------------------------------------------------------------------------
var G_Search = function() {
var robj = "";
var uiid = 300;
var btnSide, btnJibun, btnNJibun, btnPOI;
//-------------------------------------------------------------------------
this.CreateSearchForm= function() {
CreateForm();
};
//-------------------------------------------------------------------------
function CreateForm() {
ctrlman = m_Map.GetCtrlMan();
uiman = ctrlman.GetUIMan();
ctrlstate= ctrlman.GetControlState();
util = m_Map.GetUtility();
var imageman = ctrlman.GetImageMan();
imageman.SetDefaultPath(defaultImagePath);
// panel
var panel = uiman.CreateUI_Panel(uiman);
panel.SetParent(uiman);
panel.SetUIID(uiid);
panel.SetBound(0, 30, 306, 584);
// Background
var bg = CreateUIImage(uiid++, panel, "bg_search_box.png", 269, 584, 0, 0);
// btnSide
btnSide = CreateUIImage(define.i_Side, panel, "btn_hide.png", 16, 53, 266, 270);
btnSide.SetTag(1);
// btnPOI
var m_x=80;
btnPOI = CreateButton(define.i_PoiSearch, panel, "tab_place_on.png", 80, 32, 10,9);
btnJibun = CreateButton(define.i_JibunSearch, panel, "tab_add_old_on.png", 80, 32, 90, 9);
btnNJibun = CreateButton(define.i_NJibunSearch, panel, "tab_add_new_on.png", 80, 32, 170, 9);
btnJibun.SetItemIndex(1);
btnNJibun.SetItemIndex(1);
}
//-------------------------------------------------------------------------
this.ChangeMenu=function(a){
var obj = $("#sForm").contents();
if (a == 1){
btnPOI.SetItemIndex(0);
btnJibun.SetItemIndex(1);
btnNJibun.SetItemIndex(1);
obj.find("#search_1").removeClass("hide");
obj.find("#search_2").addClass("hide");
obj.find("#search_3").addClass("hide");
} else if (a == 2){
btnPOI.SetItemIndex(1);
btnJibun.SetItemIndex(0);
btnNJibun.SetItemIndex(1);
obj.find("#search_1").addClass("hide");
obj.find("#search_2").removeClass("hide");
obj.find("#search_3").addClass("hide");
} else {
btnPOI.SetItemIndex(1);
btnJibun.SetItemIndex(1);
btnNJibun.SetItemIndex(0);
obj.find("#search_1").addClass("hide");
obj.find("#search_2").addClass("hide");
obj.find("#search_3").removeClass("hide");
}
var fn = $("#sForm")[0].contentWindow['search_init'];
fn();
};
//-------------------------------------------------------------------------
//-------------------------------------------------------------------------
}
//-----------------------------------------------------------------------------
// code 0 : do, 1:gu
//-----------------------------------------------------------------------------
function GetAdminName(div, code, type){
var adminMan = m_Map.GetCtrlMan().GetAdminMan();
var m_list = adminMan.GetAdminInfoList(code, 1);
$("#sForm").contents().find(div+ " li").remove();
var a_list = m_list.split(";");
if (type == 1){
$("#sForm").contents().find(".section_area_b ul").
append('
시/군/구');
} else {
$("#sForm").contents().find(".section_area_c ul").
append('동/면/읍');
}
$.each(a_list, function(i){
var arr=a_list[i].split(":");
if (type == 1) {
$("#sForm").contents().find(".section_area_b ul").append(
''
+arr[0]+'');
} else {
$("#sForm").contents().find(".section_area_c ul").append(
''
+arr[0]+'');
}
});
};
//-----------------------------------------------------------------------------
//code 0 : do, 1:gu
//-----------------------------------------------------------------------------
function GetBAdminName(div, code, type){
var adminMan = m_Map.GetCtrlMan().GetBAdminMan();
var m_list = adminMan.GetAdminInfoList(code, 1);
$("#sForm").contents().find(div+ " li").remove();
var a_list = m_list.split(";");
// 초기화
if (type == 1){
$("#sForm").contents().find(".section_area_b ul").
append('시/군/구');
} else {
$("#sForm").contents().find(".section_area_c ul").
append('동/면/읍');
}
$.each(a_list, function(i){
var arr=a_list[i].split(":");
if (type == 1) {
$("#sForm").contents().find(".section_area_b ul").append(
''
+arr[0]+'');
} else {
$("#sForm").contents().find(".section_area_c ul").append(
''
+arr[0]+'');
}
});
};
//-----------------------------------------------------------------------------
//search POI
//-----------------------------------------------------------------------------
function addPOI(gId, iId, Lon, Lat, Caption, Contents) {
var ctrlman = m_Map.GetCtrlMan();
var poiman = ctrlman.GetPOIMan();
var util = m_Map.GetUtility();
var imageman = ctrlman.GetImageMan();
imageman.SetDefaultPath(defaultImagePath);
var img = imageman.LoadImageList("POI", "poi.png",36, 26);
var poiGroup = poiman.FindGroup(gId);
if(!poiGroup){
poiGroup = poiman.NewGroup(gId);
}
var gstyle = poiman.FindStyle(100);
if(!gstyle){
gstyle = poiman.NewStyle(100);
gstyle.SetGDIFont("굴림", 0, 9);
gstyle.SetFontColor(util.RGBColor(255, 255, 255));
gstyle.SetFontOutColor(util.RGBColor(255, 0, 0));
gstyle.SetBrush(util.RGBColor(255, 0, 0), 0);
gstyle.SetPen(util.RGBColor(255, 0, 0), 1, 0);
}
poiGroup.SetStyle(gstyle);
var item = poiGroup.NewItem(iId);
item.SetLonLat(Lon, Lat);
item.SetImage(img);
item.SetShowImage(1);
item.SetImageIndex(0);
item.SetImageOffset(4);
item.SetTextStyle(0x12);
item.SetCaption(Caption + " ");
item.SetContents(Contents);
item.SetAlpha(0);
//item.SetAnimation(200);
}
//-----------------------------------------------------------------------------
function DeletePOI(gId)
{
var ctrlman = m_Map.GetCtrlMan();
var poiman = ctrlman.GetPOIMan();
if (poiman.FindGroup(gId)) {
poiman.DeleteGroup(gId);
}
}
//-----------------------------------------------------------------------------
var b_iId=0;
function findPOI(gId, iId)
{
var ctrlman = m_Map.GetCtrlMan();
var ctrlstate = ctrlman.GetControlState();
var poiman = ctrlman.GetPOIMan();
var poigroup = poiman.FindGroup(gId);
var bItem = null;
if (poigroup) {
var item = poigroup.FindItem(iId);
poiman.SetTopItem(item); //선택된 POI아이템이 제일 위에 보이게 함.
item.SetImageIndex(1);
var point = item.GetLonLat();
ctrlstate.SetLLCenter(point._X, point._Y);
m_Map.SetFocus();
if(b_iId!=0 && b_iId != iId )
{
bItem = poigroup.FindItem(b_iId);
bItem.SetImageIndex(0);
}
}
b_iId = iId;
}
//-----------------------------------------------------------------------------
//-----------------------------------------------------------------------------
var G_AreaNavi = function() {
var robj = "";
var naviObj = "";
var stcArea = null;
var uiid = 400;
var uiid_a = 410;
var adminCode = 0;
//-----------------------------------------------------------------------------
this.CreateAreaForm = function() {
CreateNaviForm();
naviObj = CreateAreaForm();
};
//-----------------------------------------------------------------------------
this.SetShowNavi=function(val) {
var a ="";
if(naviObj != "") {
a = naviObj.GetVisible();
if (val != null){
naviObj.SetVisible(val);
} else {
if(a== 0)
naviObj.SetVisible(1);
else
naviObj.SetVisible(0);
}
}
return a;
};
//-----------------------------------------------------------------------------
this.SetAreaName=function(X, Y) {
var name = "";
var lon,lat;
if (X == null || Y == null) {
var posLL = m_Map.GetCtrlMan().GetControlState().GetLLCenter();
lon = posLL._X;
lat = posLL._Y;
}
var pos = m_Map.GetCtrlMan().GetControlState().DPToLL(X, Y);
lon = pos._Lon;
lat = pos._Lat;
var adminMan = m_Map.GetCtrlMan().GetAdminMan();
var item = adminMan.GetAdminItem(lon, lat);
if(item == null) return;
name = item.GetAdminName(" > ", 3);
if (stcArea != null) stcArea.SetCaption(name);
adminCode = item.GetAdminCode();
if (this.adminCode != 0) {
this.GetAdminName(".group_02", adminCode.substring(0, 2));
this.GetAdminName(".group_03", adminCode.substring(0, 5));
var fn = $("#sForm2")[0].contentWindow['SetData'];
if (fn != null) {
fn(adminCode.substring(0, 2));
fn(adminCode.substring(0, 5));
fn(adminCode);
}
}
};
//-----------------------------------------------------------------------------
function CreateNaviForm() {
ctrlman = m_Map.GetCtrlMan();
uiman = ctrlman.GetUIMan();
ctrlstate= ctrlman.GetControlState();
util = m_Map.GetUtility();
var imageman = ctrlman.GetImageMan();
imageman.SetDefaultPath(defaultImagePath);
var dpsize = ctrlstate.GetSizeDP();
//panel
var panel = uiman.CreateUI_Panel(uiman);
panel.SetParent(uiman);
panel.SetUIID(uiid);
panel.SetAnchor(util.GetConstToValue("TMUIOBJ_ANCHOR_RIGHT"));
panel.SetBound(dpsize.GetCX()-290, 40, 280, 46);
panel.SetPanelImage("nav_left.png", "nav_middle.png", "nav_right.png");
panel.SetCanClick(1);
panel.SetCanDrag(1);
// StaticText
stcArea = uiman.CreateUI_StaticText(uiman);
stcArea.SetParent(panel);
stcArea.SetUIID(uiid++);
stcArea.SetBound(0, 0, 270, 40);
stcArea.SetUIObjFontColor(util.RGBColor(82, 139, 206));
stcArea.SetFont(9, 1, "NanumGothic");
stcArea.SetCanFocus(0);
stcArea.SetCanClick(0);
stcArea.SetCaption("서울특별시 > 강남구 > 삼성1동 ");
panel.SetAnchor(util.GetConstToValue("TMUIOBJ_ANCHOR_RIGHT"));
var btn = CreateButton(define.i_AreaBtn=uiid++, panel, "btn_drop.png", 16, 16, 250, 10);
}
//-----------------------------------------------------------------------------
function CreateAreaForm() {
var dpsize = ctrlstate.GetSizeDP();
//panel
var panel = uiman.CreateUI_Panel(uiman);
panel.SetParent(uiman);
panel.SetUIID(uiid_a);
panel.SetAnchor(util.GetConstToValue("TMUIOBJ_ANCHOR_RIGHT"));
panel.SetBound(dpsize.GetCX()-445, 90, 430, 242);
panel.SetCanClick(0);
panel.SetCanDrag(1);
panel.SetVisible(0);
var bg = CreateUIImage(uiid_a++, panel, "bg_area_list.png", 430, 207, 0, 0);
var btnOk = CreateButton(define.i_AreaOk = uiid_a++, panel, "btn_confirm.png", 68, 36, 150, 164);
var btnCancel = CreateButton(define.i_AreaCancel=uiid_a++, panel, "btn_cencal.png", 68, 36, 223, 164);
return panel;
}
//-----------------------------------------------------------------------------
this.GetAdminName= function(ul, code){
var $frm = $("#sForm2");
var adminMan = m_Map.GetCtrlMan().GetAdminMan();
var m_list = adminMan.GetAdminInfoList(code, 1);
// init
$frm.contents().find(".group_03 li").remove();
$frm.contents().find(".group_03").append("동/면/읍");
$frm.contents().find(ul+ " li").remove();
var a_list = m_list.split(";");
$.each(a_list, function(i){
var arr=a_list[i].split(":");
if (ul == ".group_02"){
$frm.contents().find(ul).append(
""+arr[0]+"");
} else if (ul == ".group_03"){
$frm.contents().find(ul).append(
""+arr[0]+"");
}
});
};
//-----------------------------------------------------------------------------
this.GotoAdmin=function(){
var $frm = $("#sForm2");
var a = $frm.contents().find(".group_01 .selected");
var b = $frm.contents().find(".group_02 .selected");
var c = $frm.contents().find(".group_03 .selected");
var code = a[0].id;
if (b.length > 0) {
code = b[0].id;
}
if (c.length > 0){
code = c[0].id;
} else {
alert("동/면/읍 을 선택해 주세요");
}
var adminman = ctrlman.GetAdminMan();
var item = adminman.GetAdminItemBycode(code);
if(item != null) {
item.GotoCenter(0);
var pos = item.GetCenterPos(0);
var dpPos = ctrlman.GetControlState().LLToDP(pos._Lon, pos._Lat);
this.SetAreaName(dpPos._X, dpPos._Y);
}
};
//-----------------------------------------------------------------------------
};
var G_BottomMenu=function() {
var obj = "";
var uiid = 500;
var btnAliasing_on, btnAliasing_off;
//-----------------------------------------------------------------------------
this.CreateForm=function() {
CreateMenu();
};
//-----------------------------------------------------------------------------
function CreateMenu() {
ctrlman = m_Map.GetCtrlMan();
uiman = ctrlman.GetUIMan();
ctrlstate= ctrlman.GetControlState();
util = m_Map.GetUtility();
var imageman = ctrlman.GetImageMan();
imageman.SetDefaultPath(defaultImagePath);
var dpsize = ctrlstate.GetSizeDP();
//panel
var panel = uiman.CreateUI_Panel(uiman);
panel.SetParent(uiman);
panel.SetUIID(uiid);
panel.SetAnchor(util.GetConstToValue("TMUIOBJ_ANCHOR_RIGHT"));
panel.SetBound(dpsize.GetCX()-331, 10, 316, 25);
panel.SetCanClick(0);
panel.SetCanDrag(1);
var btnTutorial = CreateUIImage(define.i_Tutorial=uiid++, panel, "tutorial.png", 104, 21, 0, 0);
btnAliasing_on = CreateUIImage(define.i_Aliasing_on=uiid++, panel, "AntiAliasing.png", 104, 21, 106, 0);
var btnNotice = CreateUIImage(define.i_Notice=uiid++, panel, "legal_notice.png", 104, 21, 212, 0);
btnAliasing_off = CreateUIImage(define.i_Aliasing_off=uiid++, panel, "AntiAliasing_off.png", 104, 21, 104, 0);
btnAliasing_off.SetVisible(0);
}
//-----------------------------------------------------------------------------
this.SetAliasingVisible = function()
{
if(btnAliasing_on.GetVisible()==0)
{
btnAliasing_on.SetVisible(1);
btnAliasing_off.SetVisible(0);
}
else{
btnAliasing_on.SetVisible(0);
btnAliasing_off.SetVisible(1);
}
};
};
var G_Toolbar = function()
{
var ctrlman, uiman, ctrlstate, util, imageman;
var uiid = define.i_Toolbar;//200;
var menu_btn_base_panel;
var MyToolBar2 = null;
var imgClipOnFlag = true;
var sel_POI_Img= "";
var m_ImgClicpPanel = null;
var menuOnFlag = false;
var p_toolbar = null;
var top_hide_btn = null;
var a_theme = new Array(3);
//----------------------------------------------------------------------------
this.CreateToolbarForm = function(){
createForm();
m_ImgClicpPanel = createImgClip(imgClipOnFlag);
imageman = ctrlman.GetImageMan();
imageman.SetDefaultPath(defaultImagePath);
imageman.LoadImageList("clip_01", "imgClip/img_01.png", 36, 32);
imageman.LoadImageList("clip_02", "imgClip/img_02.png", 36, 32);
imageman.LoadImageList("clip_03", "imgClip/img_03.png", 36, 32);
imageman.LoadImageList("clip_04", "imgClip/img_04.png", 36, 32);
imageman.LoadImageList("clip_05", "imgClip/img_05.png", 36, 32);
imageman.LoadImageList("clip_06", "imgClip/img_06.png", 36, 32);
imageman.LoadImageList("clip_07", "imgClip/img_07.png", 36, 32);
imageman.LoadImageList("clip_08", "imgClip/img_08.png", 36, 32);
imageman.LoadImageList("clip_09", "imgClip/img_09.png", 36, 32);
imageman.LoadImageList("clip_10", "imgClip/img_10.png", 36, 32);
imageman.LoadImageList("clip_11", "imgClip/img_11.png", 36, 32);
imageman.LoadImageList("clip_12", "imgClip/img_12.png", 36, 32);
imageman.LoadImageList("clip_13", "imgClip/img_13.png", 36, 32);
imageman.LoadImageList("clip_14", "imgClip/img_14.png", 36, 32);
imageman.LoadImageList("clip_15", "imgClip/img_15.png", 36, 32);
};
//----------------------------------------------------------------------------
this.Add_imgPOI=function(poi_cap_txt,sel_POI_Img1) {
var posLL = ctrlstate.GetLLCenter();//지도 중심좌표
//Step1. GetPOI Manager
var poiman = ctrlman.GetPOIMan();
var image = null;
if(sel_POI_Img1 == "" )
{
alert("이미지를 선택해 주세요.");
return;
} else {
image = imageman.FindImage(sel_POI_Img1);
}
//Step2. Make POI Style
var group = poiman.FindGroup(100);
if(!group)group = poiman.NewGroup(100);
var style = poiman.FindStyle(99);
if(!style)
{
style = poiman.NewStyle(99);
style.SetGDIFont("굴림", 0, 9);
style.SetFontColor(util.RGBColor(255, 255, 255));
style.SetFontOutColor(util.RGBColor(100, 0, 255));
style.SetPen(util.RGBColor(0,0,0), 1, 0);
}
//Step3. Make POI Items
var item = group.NewItem(-1);
item.SetLonLat(posLL._X , posLL._Y);
item.SetImageOffset(4);
item.SetTextStyle(0x12);
item.SetStyle(style);
item.SetCaption(poi_cap_txt + " ");
item.SetContents("Contents: \n"+poi_cap_txt);
item.SetSyncAngle(1);
item.SetAngle(0);
item.SetAlpha(100);
item.SetImage(image);
ImgClipVisible();
};
//----------------------------------------------------------------------------
this.Clear_imgPOI=function() {
var poiman = ctrlman.GetPOIMan();
var group = poiman.FindGroup(100);
if(group) {
poiman.DeleteGroup(100);
}
};
//----------------------------------------------------------------------------
this.SetVisible=function() {
ImgClipVisible();
};
this.ToolbarBound=function() {
var dpsize = ctrlstate.GetSizeDP();
var width_px = dpsize._CX/2 - 450;
var width_py = dpsize._CY - 75;
if (p_toolbar == null) return;
if(!menuOnFlag)
{
p_toolbar.MoveTo(width_px, width_py+50, 0, 30, 5);
top_hide_btn.SetImage("show_tool.png");
menuOnFlag = true;
}
else
{
p_toolbar.MoveTo(width_px, width_py+4, 0, 30, 5);
top_hide_btn.SetImage("hide_tool.png");
menuOnFlag = false;
}
};
//----------------------------------------------------------------------------
this.SetTheme=function(val) {
if (a_theme == null)return;
imageman.SetDefaultPath(defaultImagePath);
if(val == 1) {
a_theme[0].SetImage("theme_day_on.png");
a_theme[1].SetImage("theme_night.png");
a_theme[2].SetImage("theme_grey.png");
}else if(val == 2) {
a_theme[0].SetImage("theme_day.png");
a_theme[1].SetImage("theme_night_on.png");
a_theme[2].SetImage("theme_grey.png");
}else {
a_theme[0].SetImage("theme_day.png");
a_theme[1].SetImage("theme_night.png");
a_theme[2].SetImage("theme_grey_on.png");
}
};
//----------------------------------------------------------------------------
function ImgClipVisible() {
if(m_ImgClicpPanel.GetVisible() == 0) {
m_ImgClicpPanel.SetVisible(1);
$("#imgclip_div").show();
} else {
m_ImgClicpPanel.SetVisible(0);
$("#imgclip_div").hide();
}
}
//----------------------------------------------------------------------------
function createForm(){
ctrlman = m_Map.GetCtrlMan();
uiman = ctrlman.GetUIMan();
ctrlstate = ctrlman.GetControlState();
util = m_Map.GetUtility();
var imageman = ctrlman.GetImageMan();
imageman.SetDefaultPath(defaultImagePath);
var dpsize = ctrlstate.GetSizeDP();
var width_px = dpsize._CX/2 - 450;
var width_py = dpsize._CY - 70;
/*panel - 20*/
var toolbar_panel = p_toolbar = uiman.CreateUI_Panel(uiman);
toolbar_panel.SetParent(uiman);
toolbar_panel.SetUIID(uiid++);
toolbar_panel.SetBound(width_px,width_py,899,75);
toolbar_panel.SetAnchor(util.GetConstToValue("TMUIOBJ_ANCHOR_BOTTOM")|| util.GetConstToValue("TMUIOBJ_ANCHOR_LEFT"));
/*top panel hide button - 21*/
top_hide_btn = CreateUIImage(uiid++, toolbar_panel, "hide_tool.png", 55, 16, 422, 3);
top_hide_btn.SetTag(1);
/*menu Panel bg*/
var menu_panel_bg = uiman.CreateUI_Image(uiman);
menu_panel_bg.SetParent(toolbar_panel);
menu_panel_bg.SetImage("bg_tool.png");
menu_panel_bg.SetBound(0,13,899,59);
menu_panel_bg.SetAlpha(0);
menu_panel_bg.SetAnchor(util.GetConstToValue("TMUIOBJ_ANCHOR_BOTTOM")|| util.GetConstToValue("TMUIOBJ_ANCHOR_LEFT"));
/*toolbar 생성 -22*/
var timer;
var menu_btn_y;
var menu_btn_x = 0;
var empty_panel;
uiid = define.i_BtnTool=30;//30
MyToolBar2 = new Array(19);
for(var i=0; i < MyToolBar2.length ; i++)
{
menu_btn_x = 32*i;
MyToolBar2[i] = uiman.CreateUI_Button(uiman);
MyToolBar2[i].SetParent(menu_panel_bg);
MyToolBar2[i].SetUIID(uiid++);
MyToolBar2[i].SetImageList("tool_btn_"+i+".png", 28,28);
if(i<3) MyToolBar2[i].SetBound(menu_btn_x+35, 17, 28, 28);
else if(i>=3 && i < 7 )MyToolBar2[i].SetBound(menu_btn_x+50, 17, 28, 28);
else if(i>=7 && i<10) MyToolBar2[i].SetBound(menu_btn_x+59, 17, 28, 28);
else if(i>=10 && i< 15) MyToolBar2[i].SetBound(menu_btn_x+70, 17, 28, 28);
else if(i>=15 && i< MyToolBar2.length-1) MyToolBar2[i].SetBound(menu_btn_x+82, 17, 28, 28);
else MyToolBar2[i].SetBound(menu_btn_x+81, 17, 50, 28);
MyToolBar2[i].SetAlpha(0);
MyToolBar2[i].SetCanClick(1);
MyToolBar2[i].SetCanDrag(0);
MyToolBar2[i].SetImageAutoChange(1);
MyToolBar2[i].AddEventMode(util.getConstToValue("TMEVENTTYPE_MOUSEUP"));
if (i == 0) MyToolBar2[i].SetHint("Refresh");
else if (i == 1) MyToolBar2[i].SetHint("이전화면");
else if (i == 2) MyToolBar2[i].SetHint("다음화면");
else if (i == 3) MyToolBar2[i].SetHint("회전");
else if (i == 4) MyToolBar2[i].SetHint("3차원보기");
else if (i == 5) MyToolBar2[i].SetHint("3D빌딩보기");
else if (i == 6) MyToolBar2[i].SetHint("텍스트표출");
else if (i == 7) MyToolBar2[i].SetHint("출력");
else if (i == 8) MyToolBar2[i].SetHint("저장");
else if (i == 9) MyToolBar2[i].SetHint("클립보드 저장");
else if (i == 10) MyToolBar2[i].SetHint("이미지 클립 추가");
else if (i == 11) MyToolBar2[i].SetHint("도형 그리기");
else if (i == 12) MyToolBar2[i].SetHint("선 그리기");
else if (i == 13) MyToolBar2[i].SetHint("객체 수정");
else if (i == 14) MyToolBar2[i].SetHint("선,도형, 이미지 클립 삭제");
else if (i == 15) MyToolBar2[i].SetHint("면적 측정");
else if (i == 16) MyToolBar2[i].SetHint("거리 측정");
else if (i == 17) MyToolBar2[i].SetHint("객체 삭제");
else if (i == 18) MyToolBar2[i].SetHint("테마 설정");
}
uiid = 690;
var btnTheme1 = a_theme[0] =CreateUIImage(define.i_ThemeBase=uiid++, menu_panel_bg, "theme_day_on.png", 28, 28, menu_btn_x+200, 17);
btnTheme1.SetTag(1);
var btnTheme2 = a_theme[1] =CreateUIImage(define.i_ThemeNight=uiid++, menu_panel_bg, "theme_night.png", 28, 28, menu_btn_x+230, 17);
btnTheme2.SetTag(0);
var btnTheme3 = a_theme[2] =CreateUIImage(define.i_ThemeGray=uiid++, menu_panel_bg, "theme_grey.png", 28, 28, menu_btn_x+260, 17);
btnTheme3.SetTag(0);
}
//----------------------------------------------------------------------------
function toolbar_center_line(menu_line_x)
{
menu_btn_base_panel = uiman.CreateUI_Panel(uiman);
menu_btn_base_panel.SetParent(menu_btn_base_panel);
menu_btn_base_panel.SetBound(25,17,680,28);
}
//----------------------------------------------------------------------------
function createImgClip(imgClipOnFlag){
var ctrlman,uiman,ctrlstate,util,imageman,dpsize;
var uiid = 49;
ctrlman = m_Map.GetCtrlMan();
uiman = ctrlman.GetUIMan();
ctrlstate = ctrlman.GetControlState();
util = m_Map.GetUtility();
imageman = ctrlman.GetImageMan();
imageman.SetDefaultPath(defaultImagePath);
dpsize = ctrlstate.GetSizeDP();
var width_px = dpsize._CX/2;
var width_py = dpsize._CY - 320;
var imgClipBg = uiman.CreateUI_Panel(uiman);
imgClipBg.SetParent(uiman);
imgClipBg.SetUIID(uiid++);
imgClipBg.SetBound(width_px,width_py, 430, 233);
imgClipBg.SetAnchor(util.GetConstToValue("TMUIOBJ_ANCHOR_BOTTOM") | util.GetConstToValue("TMUIOBJ_ANCHOR_CENTER"));
imgClipBg.SetAlpha(0);
imgClipBg.SetCanClick(1);
imgClipBg.SetCanDrag(1);
imgClipBg.SetVisible(0);
var imgClipBgImg = uiman.CreateUI_Image(uiman);
imgClipBgImg.SetParent(imgClipBg);
imgClipBgImg.SetImage("imgClip/navbox_all.png");
imgClipBgImg.SetBound(0,0,430,233);
var closeBtnX = imgClipBg.GetWidth();
var clipCloseBtn = uiman.CreateUI_Button(uiman);
clipCloseBtn.SetParent(imgClipBg);
clipCloseBtn.SetUIID(define.i_ToolClip = uiid++);//50
clipCloseBtn.SetBound(closeBtnX-30, 17, 14, 14 );
clipCloseBtn.SetImage("btn_close.png");
clipCloseBtn.SetCanClick(1);
clipCloseBtn.SetAlpha(0);
clipCloseBtn.AddEventMode(util.GetConstToValue("TMEVENTTYPE_MOUSEUP"));
//이미지 클립 버튼 부분 div 위치변경
document.getElementById("imgclip_div").style.bottom = 100+"px";
document.getElementById("imgclip_div").style.left = Math.ceil(width_px+20)+"px";
return imgClipBg;
}
//----------------------------------------------------------------------------
};
//-------------------------------------------------------------------------------
// RIGHT_MENU
//-----------------------------------------------------------------------------
var gLevelImg;
var gLevelBarBg;
var Right_Menu = function()
{
var imageman,dpsize;
var uiid;
var btnZoomOut=null,btnZoomIn=null,levelText=null,btnLevel=null;
var levelBtn;
//-----------------------------------------------------------------------------
this.CreateRightMenu = function()
{
init();
createLevelBar();
var now_level = ctrlstate.GetLevel();
this.ChangeLevelBarImgPos(now_level);
this.ChangeLevelText(now_level);
createCompass();
};
//-----------------------------------------------------------------------------
this.MapLevel_Master=function(level)
{
var SetEnable = 1;
var SetDisable = 0;
if(gLevelBarFlag != true) return;
for(var i=0; i < btnLevel.length; i++)
{
if(level == i ) btnLevel[i].SetItemIndex(SetEnable);
else btnLevel[i].SetItemIndex(SetDisable);
}
}
//-----------------------------------------------------------------------------
// 레벨바 투명버튼
//------------------------------------------------------------------------------
this.ClickLevelBtn = function(sel_level){
this.ChangeLevelBarImgPos(sel_level);
this.ChangeLevelText(sel_level);
ctrlstate.SetLevel(sel_level);
};
//-----------------------------------------------------------------------------------------
// ChangeLevelBarImgPos 레벨바 이비지 위치 변경
//----------------------------------------------------------------------------------
this.ChangeLevelBarImgPos=function(now_level) {
if (now_level == null) {
now_level = ctrlstate.getLevel();
}
var CY = btnZoomOut.GetHeight() + 22;
gLevelImg.SetBound(15, CY+(12-now_level)*9, 16, 16);
}
//-----------------------------------------------------------------------------------------
// ChangeLevelBarImgPos 레벨바 이비지 위치 변경
//----------------------------------------------------------------------------------
this.ChangeLevelText=function(now_level)
{
if (now_level == null) {
now_level = ctrlstate.getLevel();
}
levelText.SetCaption(now_level);
}
//-----------------------------------------------------------------------------
this.GetZoomOut=function(){
return btnZoomOut;
};
//-----------------------------------------------------------------------------
function init()
{
ctrlman = m_Map.GetCtrlMan();
uiman = ctrlman.GetUIMan();
ctrlstate = ctrlman.GetControlState();
util = m_Map.GetUtility();
imageman = ctrlman.GetImageMan();
imageman.SetDefaultPath(defaultImagePath);
dpsize = ctrlstate.GetSizeDP();
btnLevel = new Array(13);
gLevelBarBg=null;
}
//-----------------------------------------------
function createCompass()
{
if(uiman.SetCompassImage("compass.png", 49, 49))
{
var compass = uiman.GetCompass();
if(compass)
{
compass.SetWidth(49);
compass.SetHeight(49);
compass.SetCanDrag(1);
compass.SetTop(100);
compass.SetLeft(gLevelBarBg.GetLeft()-2);
compass.SetNativeEventNotify(1);
compass.SetAlpha(0);
}
}
}
//------------------------------------------------------
function createLevelBar()
{
uiid = 1;
gLevelBarBg = CreateButton(define.i_LevelBar=uiid++, uiman, "bg_zoom.png", 46, 232, dpsize._CX-61, 150);
gLevelBarBg.SetAlpha(0);
gLevelBarBg.SetCanDrag(1);
gLevelBarBg.SetCanClick(1);
gLevelBarBg.SetAnchor(util.GetConstToValue("TMUIOBJ_ANCHOR_TOP") |
util.GetConstToValue("TMUIOBJ_ANCHOR_RIGHT"));
gLevelBarBg.AddEventMode(util.GetConstToValue("TMEVENTTYPE_MOUSELEAVE")| util.GetConstToValue("TMEVENTTYPE_MOUSEENTER"));
//Zoomout Button
btnZoomOut = CreateButton(define.i_ZoomOut=uiid++, gLevelBarBg, "btn_zoomout.png", 16, 16, 15, 15)
btnZoomOut.SetDragTracker(1);
btnZoomOut.SetCanClick(1);
btnZoomOut.AddEventMode(util.GetConstToValue("TMEVENTTYPE_MOUSEUP")| util.GetConstToValue("TMEVENTTYPE_MOUSELEAVE")| util.GetConstToValue("TMEVENTTYPE_MOUSEENTER"));
//레벨별 투명 버튼
levelBtn = new Array(13);
var uiid_b=200;
for(var i=0;i 10)
{
GPSMan.SetInterval(n_val - 10);
}
gps_info_txt[0].SetCaption(GPSMan.GetInterval());
}
};
this.GPSNOW = function()
{
var ctrlman = m_Map.GetCtrlMan();
var carMan = ctrlman.GetCarMan();
carMan.SetSyncGPSMan(1);
carMan.SetPosSyncMode(1);
carMan.SetHeadingUpMode(1);
carMan.SetBirdViewMode(1);
};
this.GPSInfoTxt = function(XGPSMan, Flag, Data)
{
var info = XGPSMan.GetGPSInfo();
var pos,state;
var coord = m_Map.GetCoordSys();
if (info) {
pos = info.GetGPS_Pos();
if (pos) {
gps_info_txt[0].SetCaption(XGPSMan.GetInterval()); // 주기
gps_info_txt[1].SetCaption(DatePtr(pos.GetTimeToStr())); // 날짜
gps_info_txt[4].SetCaption(TimePtr(pos.GetTimeToStr())); // 시간
gps_info_txt[5].SetCaption(pos.GetAltitude() + "m"); // 고도
gps_info_txt[3].SetCaption(fixNumberScale(pos.GetSpeed(), 3) + "㎞"); // 속도
gps_info_txt[6].SetCaption(Math.round(pos.GetAngle()) + "˚"); //각도
//stcAraMsg[6].SetCaption(coord.ToHMSStr(pos.GetMapPos()._Lon)); 법적공지에 의한 표시 불가 2009.11.19 kimjieun
//stcAraMsg[7].SetCaption(coord.ToHMSStr(pos.GetMapPos()._Lat));
}
GPSStatePOI(12, info);
}
};
function GPSStatePOI(cnt, info)
{
var ctrlman = m_Map.GetCtrlMan();
var poiman = ctrlman.GetPOIMan();
var gpsman = ctrlman.GetGPSMan();
var util = m_Map.GetUtility();
var poss = util.GetPoint(101, 90);
var state;
var snrState = 0;
var OnGPSCnt = 0;
for (var i=0; i < cnt; i++) {
state = info.GetGPS_Satellite(i);
if (state.GetUsedForFix() == 1) {
var n_pos = gpsman.GetSatelliteDPPos(state, 74, poss);
var snr = state.GetSnr();
if (snr > 0 && snr < 33) snrState = 1;
else if (snr > 32 && snr < 66) snrState = 2;
else if (snr > 65 && snr < 100) snrState = 3;
satellite[i].SetVisible(1);
satellite[i].SetBound( n_pos._X, n_pos._Y, 37, 17);
if (satellite[i].GetTag() != snrState) {
satellite[i].SetTag(snrState);
if (snrState == 1) satellite[i].SetMGImage(img_gps_false);
else if (snrState == 2) satellite[i].SetMGImage(img_gps_row);
else if (snrState == 3) satellite[i].SetMGImage(img_gps_true);
satellite[i].SetHint("위성ID :" +state.GetSatelliteID() + "\n" +
"방위각 :" +state.GetAzimuth() + " °\n" +
"높이 :" +state.GetElevation() + " °\n" +
"신호강도 :" +state.GetSnr() + "dBHz");
}
OnGPSCnt++;
}
else
{
satellite[i].SetVisible(0);
}
gps_info_txt[2].SetCaption(OnGPSCnt + " / " + cnt);
}
}
function DatePtr(time) {
var str;
if(time.length > 10) {
str = time.substring(0, 4) + " ";
str += time.substring(4, 6) + " ";
str += time.substring(6, 8) + " ";
}
return str;
}
function TimePtr(time) {
var str;
if(time.length > 10) {
str = time.substring(8, 10) + ":";
str += time.substring(10, 12) + ":";
str += time.substring(12, 14);
}
return str;
}
function fixNumberScale(number, scale) {
var pm = Math.pow(10, scale);
return Math.round(number * pm) /pm;
}
};