|
TalMap SDK Libary Reference |
HOWTO: ³ª¸¸ÀÇ Åø¹Ù/·¹º§¹Ù ¸¸µå´Â ¹æ¹ý |
|
¿ä¾à
|
ÀÌ ¹®¼´Â TalMapX Control ¿¡¼ Á¦°øÇÏ´Â °·ÂÇÑ UI ±â´ÉÀ» »ç¿ëÇÏ´Â ¹æ¹ýÀ» ¼³¸íÇÕ´Ï´Ù.
TalMapX ControlÀº UI(User Interface)¸¦ À§Çؼ ´Ù¾çÇÑ °³Ã¼µéÀ» Á¦°øÇÕ´Ï´Ù.
TalMapX ControlÀÌ Á¦°øÇÏ´Â UI °³Ã¼·Î´Â XUIButton, XUICheckBox, XUIImage, XUIImageList, XUIImageText, XUIPanel, UIStatic µîÀÌ ÀÖ½À´Ï´Ù.
»ç¿ëÀÚ´Â ÀÌ ¹®¼¸¦ ÅëÇØ ¼Õ½±°Ô UI °³Ã¼µéÀ» ÀÌ¿ëÇÏ´Â ¹æ¹ýÀ» ÇнÀÇÒ ¼ö ÀÖ½À´Ï´Ù.
¶ÇÇÑ UI °³Ã¼µéÀ» ÀÌ¿ëÇÏ¿© ÀڽŸ¸ÀÇ Åø¹Ù ¹× ·¹º§¹Ù¸¦ ¸¸µé¾î Áöµµ¿¡ Àû¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.
|
|
|
¹æ¹ý
|
1. TalMapX ControlÀÇ Control Manager¸¦ ±¸ÇÕ´Ï´Ù.
2. Contorl Manager¸¦ ÅëÇØ UI Manger¸¦ ±¸ÇÕ´Ï´Ù.
3. UI Manger¸¦ ÅëÇØ ¿øÇÏ´Â °³Ã¼¸¦ »ý¼ºÇÏ¿© Åø¹Ù ¹× ·¹º§¹Ù¸¦ ±¸¼ºÇÕ´Ï´Ù.
4. »ý¼º µÈ UI °³Ã¼ÀÇ À̺¥Æ®µéÀ» ÀÌ¿ëÇÏ¿© Åø¹Ù ¹× ·¹º§¹Ù°¡ µ¿ÀÛÇϵµ·Ï ±â´ÉÀ» Ãß°¡ÇÕ´Ï´Ù.
|
|
|
Example
|
|
<html>
<head>
<script language="javascript">
<!--
// toggle level bar
function ToggleLevelBar()
{
var ctrlman = m_Map.GetCtrlMan();
var uiman = ctrlman.GetUIMan();
if (uiman.GetShowLevelBar() == 0) {
uiman.SetShowLevelBar(1);
} else {
uiman.SetShowLevelBar(0);
}
}
var gCreatedLevelBar = false;
var gCreateToolBarStyle1 = false;
var gCreateToolBarStyle2 = false;
var gLevelBarBg;
// UI »ý¼º
var btnLevel = new Array(13);
function CreateLevelBar()
{
if (gCreatedLevelBar == true) {
gLevelBarBg.DestroyUIObj();
for (var i = 0; i < btnLevel.length; i++)
{
btnLevel[i].DestroyUIObj();
}
gCreatedLevelBar = false;
return;
}
gCreatedLevelBar = true;
var ctrlman = m_Map.GetCtrlMan();
var uiman = ctrlman.GetUIMan();
var ctrlstate = ctrlman.GetControlState();
var dpsize = ctrlstate.GetSizeDP();
var util = m_Map.GetUtility();
var imageman = ctrlman.GetImageMan();
imageman.SetDefaultPath("http://www.talmap.co.kr/tutorial/image/level_ico");
// BackGround Image
var bg = gLevelBarBg = uiman.CreateUI_Button(uiman);
bg.SetParent(uiman);
bg.SetUIID(11);
bg.SetImageList("level_bg.png", 27, 167);
bg.SetBound(dpsize._CX-37, 127, 27, 167);
bg.SetAlpha(80);
bg.SetCanClick(0);
bg.SetCanDrag(1);
bg.AddEventMode(util.GetConstToValue("TMEVENTTYPE_MOUSELEAVE") |
util.GetConstToValue("TMEVENTTYPE_MOUSEENTER"));
// Zoom In Button
var btnZoomIn = uiman.CreateUI_Button(uiman);
btnZoomIn.SetParent(bg);
btnZoomIn.SetUIID(12);
btnZoomIn.SetImageList("level_btn_minus.png", 16, 20);
btnZoomIn.SetBound(11, 0, 16, 20);
btnZoomIn.SetCanClick(1);
btnZoomIn.SetCanDrag(1);
btnZoomIn.SetDragTracker(1);
btnZoomIn.AddEventMode(util.GetConstToValue("TMEVENTTYPE_MOUSEUP")|
util.GetConstToValue("TMEVENTTYPE_MOUSELEAVE")|
util.GetConstToValue("TMEVENTTYPE_MOUSEENTER"));
// Zoom Out Button
var btnZoomOut = uiman.CreateUI_Button(uiman);
btnZoomOut.SetParent(bg);
btnZoomOut.SetUIID(13);
btnZoomOut.SetImageList("level_btn_plus.png", 16, 20);
btnZoomOut.SetBound(11, bg.GetItemHeight()-20, 16, 20);
btnZoomOut.SetCanClick(1);
btnZoomOut.SetCanDrag(1);
btnZoomOut.SetDragTracker(1);
btnZoomOut.AddEventMode(util.GetConstToValue("TMEVENTTYPE_MOUSEUP") |
util.GetConstToValue("TMEVENTTYPE_MOUSELEAVE") |
util.GetConstToValue("TMEVENTTYPE_MOUSEENTER"));
// Level Button
var UIID = 14;
var CY = btnZoomIn.GetHeight() + 5;
for (var i = btnLevel.length-1; i > -1; i--){
btnLevel[i] = uiman.CreateUI_Button(uiman);
btnLevel[i].SetParent(bg);
btnLevel[i].SetUIID(UIID);
btnLevel[i].SetImageList("level_btn_position.png", 16, 9);
btnLevel[i].SetBound(8, CY, 22, 9);
btnLevel[i].SetCanClick(1);
btnLevel[i].SetCanDrag(1);
btnLevel[i].SetDragTracker(1);
btnLevel[i].SetImageAutoChange(0);
btnLevel[i].SetItemIndex(1);
btnLevel[i].AddEventMode(util.GetConstToValue("TMEVENTTYPE_MOUSEUP") |
util.GetConstToValue("TMEVENTTYPE_MOUSELEAVE") |
util.GetConstToValue("TMEVENTTYPE_MOUSEENTER"));
CY = CY + 9;
UIID++;
}
// ÇöÀç Level Ç¥Ãâ
MapLevel_Master(ctrlstate.GetLevel());
}
function MapLevel_Master(level)
{
if (gLevelBarBg == null) return;
// Image Index ¼³Á¤ 0~3
var SetEnabled = 0;
var SetDisabled = 1;
for (var i = 0; i < btnLevel.length; i++)
{
if (level == i) btnLevel[i].SetItemIndex(SetEnabled);
else btnLevel[i].SetItemIndex(SetDisabled);
}
}
var maxLogicalLevel = 13 - 1; // Map Max Level
var minLogicalLevel = 0; // Map Min Level
// Zoom In
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);
}
}
// Rotate Map
function Map_Rotate() {
var ctrlman = m_Map.GetCtrlMan();
ctrlman.SetMapRotation(1);
}
// 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();
}
// ºôµù 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;
}
}
// Set Map Bird View
function Map_BirdView()
{
var ctrlman = m_Map.GetCtrlMan()
var ctrlstate = ctrlman.GetControlState()
var v = ctrlstate.GetRotate()
/* if (v._X != 0) {
v._X = 0;
} else {
v._X = -60;
}
*/ if (v.GetX() != 0) {
v.SetX(0);
} else {
v.SetX(-60);
}
ctrlstate.SetRotate(v)
}
// ¸Ê ±Û¾¾ Ç¥½Ã
function ViewText()
{
var mapman = m_Map.GetCtrlMan().GetMapMan();
if (mapman.GetVisible() == 5) {
mapman.SetVisible(7);
} else if (mapman.GetVisible() == 7) {
mapman.SetVisible(5);
}
}
// Ŭ¸³º¸µå¿¡ Áöµµ À̹ÌÁö º¹»ç
function CopyToClipboard()
{
m_Map.CopyToClipboard();
}
// À̹ÌÁö ÀúÀå
function SaveImage()
{
var util = m_Map.GetUtility();
var filename = util.SaveImageDialog("C:\\", "MapImage.png");
var result = m_Map.SaveImage(filename);
//if (!result) alert("À̹ÌÁö ÀúÀå¿¡ ½ÇÆÐÇÏ¿´½À´Ï´Ù");
}
// 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 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);
if (layer) {
layer.ClearObject();
}
}
// ¸éÀû ±¸Çϱâ
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"));
}
}
// Show Theme Form
function ShowThemeForm()
{
//alert("ShowTheme()");
var ctrlman = m_Map.GetCtrlMan();
var thememan = ctrlman.GetThemeMan();
thememan.ShowForm();
}
// Set Map Level
function Map_SetLevel(level) {
if (level < minLogicalLevel) return;
if (level > maxLogicalLevel) return;
var ctrlman = m_Map.GetCtrlMan();
var ctrlstate = ctrlman.GetControlState();
ctrlstate.SetLevel(level);
}
// Map ToolBar ¸¸µé±â Style 1
var panel;
function CreateToolBarUI()
{
if (gCreateToolBarStyle1 == true) {
panel.DestroyUIObj();
gCreateToolBarStyle1 = false;
return;
}
else gCreateToolBarStyle1 = true;
var ctrlman = m_Map.GetCtrlMan();
var uiman = ctrlman.GetUIMan();
var ctrlstate = ctrlman.GetControlState();
var dpsize = ctrlstate.GetSizeDP();
var util = m_Map.GetUtility();
var imageman = ctrlman.GetImageMan();
imageman.SetDefaultPath("http://www.talmap.co.kr/tutorial/image/level_icon");
var width_px = dpsize._CX/2 - 300;
panel = uiman.CreateUI_Panel(uiman);
panel.SetParent(uiman);
panel.SetUIID(100);
panel.SetAlpha(80);
panel.SetBound(width_px, dpsize._CY-100, 530, 35);
panel.SetCanDrag(1);
panel.AddEventMode(util.GetConstToValue("TMEVENTTYPE_MOUSELEAVE") |
util.GetConstToValue("TMEVENTTYPE_MOUSEENTER"));
width_px = 0;
var UIID = 101;
var MyTooBar1 = new Array(21);
for(var i = 0; i < MyTooBar1.length; i++)
{
MyTooBar1[i] = uiman.CreateUI_Button(uiman);
MyTooBar1[i].SetParent(panel);
MyTooBar1[i].SetUIID(UIID);
MyTooBar1[i].SetImageList("map_btn_"+i+".png", 21, 21);
MyTooBar1[i].SetBound(width_px, 5, 21, 21);
MyTooBar1[i].SetAlpha(0);
MyTooBar1[i].SetCanClick(1);
MyTooBar1[i].SetCanDrag(1);
MyTooBar1[i].SetDragTracker(1);
MyTooBar1[i].AddEventMode(util.GetConstToValue("TMEVENTTYPE_MOUSEUP") |
util.GetConstToValue("TMEVENTTYPE_MOUSELEAVE") |
util.GetConstToValue("TMEVENTTYPE_MOUSEENTER"));
width_px = width_px + 25;
UIID++;
}
}
// Map ToolBar ¸¸µé±â Style 2
var MyToolBar2 = new Array(22);
function CreateToolBarUI2()
{
if (gCreateToolBarStyle2 == true)
{
for(var i = 0; i < MyToolBar2.length; i++)
{
MyToolBar2[i].DestroyUIObj();
}
gCreateToolBarStyle2 = false;
return;
}
else gCreateToolBarStyle2 = true;
var ctrlman = m_Map.GetCtrlMan();
var uiman = ctrlman.GetUIMan();
var ctrlstate = ctrlman.GetControlState();
var dpsize = ctrlstate.GetSizeDP();
var util = m_Map.GetUtility();
var imageman = ctrlman.GetImageMan();
imageman.SetDefaultPath("http://www.talmap.co.kr/tutorial/image/level_ico");
var width_px = dpsize._CX/2 - 300;
var UIID = 200;
for (var i = 0; i < MyToolBar2.length; i++)
{
MyToolBar2[i] = uiman.CreateUI_Button(uiman);
MyToolBar2[i].SetParent(uiman);
MyToolBar2[i].SetUIID(UIID + i);
MyToolBar2[i].SetImageList("map_btn_"+i+".png", 21, 21);
MyToolBar2[i].SetBound(width_px, dpsize._CY-50, 21, 21);
MyToolBar2[i].SetAlpha(80);
MyToolBar2[i].SetCanClick(1);
MyToolBar2[i].SetCanDrag(1);
MyToolBar2[i].SetImageAutoChange(0);
MyToolBar2[i].SetItemIndex(3);
MyToolBar2[i].AddEventMode(util.GetConstToValue("TMEVENTTYPE_MOUSEUP") |
util.GetConstToValue("TMEVENTTYPE_MOUSEDOWN") |
util.GetConstToValue("TMEVENTTYPE_MOUSELEAVE") |
util.GetConstToValue("TMEVENTTYPE_MOUSEENTER"));
width_px = width_px + 25;
}
}
// OnUI_MouseUp Event Function
function MapEvent_UI_MouseUp(XUIObj, Code, Value1, Value2)
{
if (XUIObj.GetParent().GetUIID() == 11) {
switch (XUIObj.GetUIID()) {
case 12: Map_ZoomOut(); break;
case 13: Map_ZoomIn(); break;
case 14: Map_SetLevel(12);break;
case 15: Map_SetLevel(11);break;
case 16: Map_SetLevel(10);break;
case 17: Map_SetLevel(9);break;
case 18: Map_SetLevel(8);break;
case 19: Map_SetLevel(7);break;
case 20: Map_SetLevel(6);break;
case 21: Map_SetLevel(5);break;
case 22: Map_SetLevel(4);break;
case 23: Map_SetLevel(3);break;
case 24: Map_SetLevel(2);break;
case 25: Map_SetLevel(1);break;
case 26: Map_SetLevel(0);break;
}
var ctrlman = m_Map.GetCtrlMan();
var ctrlstate = ctrlman.GetControlState();
} else if (XUIObj.GetParent().GetUIID() == 100) {
switch (XUIObj.GetUIID()) {
case 101 : Map_ZoomIn(); break;
case 102 : Map_ZoomOut(); break;
case 103 : Map_Rotate(); break;
case 104 : HistoryPrev(); break;
case 105 : HistoryNext(); break;
case 106 : Map_BirdView(); break;
case 107 : break;
case 108 : ViewText(); break;
case 109 : break;
case 110 : break;
case 111 : break;
case 112 : break;
case 113 : break;
case 114 : break;
case 115 : break;
case 116 : break;
case 117 : break;
case 118 : break;
case 119 : break;
case 120 : break;
case 121 : ShowThemeForm(); break;
}
} else {
var UIID = XUIObj.GetUIID();
switch (UIID) {
case 201 : Map_ZoomIn(); break;
case 202 : Map_ZoomOut(); break;
case 203 : Map_Rotate(); break;
case 204 : HistoryPrev(); break;
case 205 : HistoryNext(); break;
case 206 : Map_BirdView();break;
case 207 : break;
case 208 : ViewText(); break;
case 209 : break;
case 210 : break;
case 211 : break;
case 212 : break;
case 213 : break;
case 214 : break;
case 215 : break;
case 216 : break;
case 217 : break;
case 218 : break;
case 219 : break;
case 220 : break;
case 221 : ShowThemeForm(); break;
}
MyToolBar2[UIID-200].SetItemIndex(3);
}
}
// OnUI_MouseDown Event Function
function MapEvent_UI_MouseDown(XUIObj, Code, Value1, Value2)
{
if (XUIObj.GetUIID() > 200) { // Map Tool Bar
MyToolBar2[XUIObj.GetUIID() - 200].SetItemIndex(1);
}
}
// OnUI_Click Event Function
function MapEvent_UI_Click(XUIObj, Code, Value1, Value2)
{
}
// OnUI_MouseLeave Event Function
function MapEvent_UI_MouseLeave(XUIObj, Code, Value1, Value2)
{
// Level Bar
if (XUIObj.GetUIID() == 11) { // Level Bar BG
XUIObj.SetAlpha(80);
}
if (XUIObj.GetParent().GetUIID() == 11) {
XUIObj.GetParent().SetAlpha(80);
}
// ToolBar Style 1
if (XUIObj.GetUIID() == 100) {
XUIObj.SetAlpha(80);
}
if (XUIObj.GetParent().GetUIID() == 100) {
XUIObj.GetParent().SetAlpha(80);
}
// ToolBar Style 2
if (XUIObj.GetUIID() > 200) {
XUIObj.SetAlpha(80);
}
}
// OnUI_MouseHover Event Function
function MapEvent_UI_MouseHover(XUIObj, Code, Value1, Value2)
{
// Level Bar
if (XUIObj.GetUIID() == 11) { // Level Bar BG
XUIObj.SetAlpha(0);
}
if (XUIObj.GetParent().GetUIID() == 11) {
XUIObj.GetParent().SetAlpha(0);
}
// ToolBar Style 1
if (XUIObj.GetUIID() == 100) {
XUIObj.SetAlpha(0);
}
if (XUIObj.GetParent().GetUIID() == 100) {
XUIObj.GetParent().SetAlpha(0);
}
// ToolBar Style 2
if (XUIObj.GetUIID() > 200) {
XUIObj.SetAlpha(0);
}
}
// On_StateChange Event Function
function MapEvent_OnStateChange(Code, Value1, Value2)
{
var util = m_Map.GetUtility();
var ctrlman = m_Map.GetCtrlMan();
var ctrlstate = ctrlman.GetControlState();
if (Code == util.GetConstToValue("TMCHECKCONFIG_LEVEL")) {
//ChangeLevelButtonImage();
// ÇöÀç Level Ç¥Ãâ
MapLevel_Master(ctrlstate.GetLevel());
} else if (Code == util.GetConstToValue("TMCHECKCONFIG_ROTATION")) {
} else {
}
}
-->
</script>
<script language="javascript" for="m_Map" event="OnCreate(Flag)">
<!--
MapEvent_OnCreate(Flag);
-->
</script>
<script language="javascript" for="m_Map" event="OnStateChange(Code, Value1, Value2)">
<!--
MapEvent_OnStateChange(Code, Value1, Value2);
-->
</script>
<script language="javascript" for="m_Map" event="OnUI_MouseUp(XUIObj, Code, Value1, Value2)">
<!--
MapEvent_UI_MouseUp(XUIObj, Code, Value1, Value2);
-->
</script>
<script language="javascript" for="m_Map" event="OnUI_MouseDown(XUIObj, Code, Value1, Value2)">
<!--
MapEvent_UI_MouseDown(XUIObj, Code, Value1, Value2);
-->
</script>
<script language="javascript" for="m_Map" event="OnUI_Click(XUIObj, Code, Value1, Value2)">
<!--
MapEvent_UI_Click(XUIObj, Code, Value1, Value2);
-->
</script>
<script language="javascript" for="m_Map" event="OnUI_MouseLeave(XUIObj, Code, Value1, Value2)">
<!--
MapEvent_UI_MouseLeave(XUIObj, Code, Value1, Value2)
-->
</script>
<script language="javascript" for="m_Map" event="OnUI_MouseHover(XUIObj, Code, Value1, Value2)">
<!--
MapEvent_UI_MouseHover(XUIObj, Code, Value1, Value2);
-->
</script>
</head>
<body>
<table>
<tr>
<td>
<OBJECT ID="Map" CLASSID="CLSID:DD9B48AD-EDDC-4D2C-BD68-D1FB4B382024"
codebase='http://localhost/TalMapX_Web.CAB#version=1,0,0,17' width=100% height=80%>
</OBJECT>
</td>
</tr>
</table>
</body>
</html>
|
|
|
#include "talmapxctrl1.h"
#include "CXCtrlMan.h"
#include "CXControlState.h"
#include "CXMasterControlState.h"
#include "CXThemeMan.h"
#include "CXMapMan.h"
#include "CXUtility.h"
#include "CXSize.h"
#include "CXImageMan.h"
#include "CXUIMan.h"
#include "CXUIPanel.h"
#include "CXUIButton.h"
#include "CXUIObj.h"
BEGIN_EVENTSINK_MAP(CSampleDlg, CDialog)
ON_EVENT(CSampleDlg, IDC_TALMAPXCTRL1, 8, CSampleDlg::OnStateChangeTalmapxctrl1, VTS_I4 VTS_I4 VTS_I4)
ON_EVENT(CSampleDlg, IDC_TALMAPXCTRL1, 20, CSampleDlg::OnUI_MouseDownTalmapxctrl1, VTS_DISPATCH VTS_I4 VTS_I4 VTS_I4)
ON_EVENT(CSampleDlg, IDC_TALMAPXCTRL1, 21, CSampleDlg::OnUI_MouseUpTalmapxctrl1, VTS_DISPATCH VTS_I4 VTS_I4 VTS_I4)
ON_EVENT(CSampleDlg, IDC_TALMAPXCTRL1, 24, CSampleDlg::OnUI_MouseHoverTalmapxctrl1, VTS_DISPATCH)
ON_EVENT(CSampleDlg, IDC_TALMAPXCTRL1, 25, CSampleDlg::OnUI_MouseLeaveTalmapxctrl1, VTS_DISPATCH)
END_EVENTSINK_MAP()
// toggle level bar
void CSampleDlg::ToggleLevelBar()
{
CXCtrlMan ctrlman = m_Map.GetCtrlMan();
CXUIMan uiman = ctrlman.GetUIMan();
if (uiman.GetShowLevelBar() == 0) {
uiman.SetShowLevelBar(1);
} else {
uiman.SetShowLevelBar(0);
}
}
// UI »ý¼º
void CSampleDlg::CreateLevelBar2()
{
if (bCreateLevelBar == true) {
bLevelBarBg.DestroyUIObj();
for (int i = 0; i < 14; i++) {
bLevel[i].DestroyUIObj();
}
bCreateLevelBar = false;
return;
}
bCreateLevelBar = true;
CXCtrlMan ctrlman = m_Map.GetCtrlMan();
CXUIMan uiman = ctrlman.GetControlState();
CXMasterControlState ctrlstate = ctrlman.GetControlState();
CXSize dpsize = ctrlstate.GetSizeDP();
CXUtility util= m_Map.GetUtility();
CXImageMan imageman = ctrlman.GetImageMan();
imageman.SetDefaultPath(_T("http://www.talmap.co.kr/tutorial/image/level_ico"));
// BackGround Image
CXUIButton bg = bLevelBarBg = uiman.CreateUI_Button(uiman);
bg.SetParent(uiman);
bg.SetUIID(101);
bg.SetImageList(_T("level_bg.png"), 26, 167);
bg.SetBound(dpsize.GetCX()-37, 127, 27, 167);
bg.SetAlpha(80);
bg.SetCanClick(0);
bg.SetCanDrag(1);
bg.AddEventMode(util.GetConstToValue(_T("TMEVENTTYPE_MOUSELEVEL"))|
util.GetConstToValue(_T("TMEVENTTYPE_MOUSEENTER")));
// Zoom In Button
CXUIButton btnZoomIn = uiman.CreateUI_Button(uiman);
btnZoomIn.SetParent(bg);
btnZoomIn.SetUIID(102);
btnZoomIn.SetImageList(_T("level_btn_minus.png"), 16, 20);
btnZoomIn.SetBound(11, 0, 16, 20);
btnZoomIn.SetCanClick(1);
btnZoomIn.SetCanDrag(1);
btnZoomIn.SetDragTracker(1);
btnZoomIn.AddEventMode(util.GetConstToValue(_T("TMEVENTTYPE_MOUSEUP"))|
util.GetConstToValue(_T("TMEVENTTYPE_MOUSELEVE"))|
util.GetConstToValue(_T("TMEVENTTYPE_MOUSEENTER")));
// Zoom Out Button
CXUIButton btnZoomOut = uiman.CreateUI_Button(uiman);
btnZoomOut.SetParent(bg);
btnZoomOut.SetUIID(103);
btnZoomOut.SetImageList(_T("level_btn_plus.png"), 16, 20);
btnZoomOut.SetBound(11, bg.GetItemHeight()-20, 16, 20);
btnZoomOut.SetCanClick(1);
btnZoomOut.SetCanDrag(1);
btnZoomOut.SetDragTracker(1);
btnZoomOut.AddEventMode(util.GetConstToValue(_T("TMEVNETTYPE_MOUSEUP"))|
util.GetConstToValue(_T("TMEVENTTYPE_MOUSELEAVE"))|
util.GetConstToValue(_T("TMEVENTTYPE_MOUSEENTER")));
// Level Button
long UIID = 104;
long CY = btnZoomIn.GetHeight() + 5;
for (int i=13; i > -1; i--) {
bLevel[i] = uiman.CreateUI_Button(uiman);
bLevel[i].SetParent(bg);
bLevel[i].SetImageList(_T("level_btn_position.png"), 16, 9);
bLevel[i].SetBound(11, CY, 22, 9);
bLevel[i].SetCanClick(1);
bLevel[i].SetCanDrag(1);
bLevel[i].SetDragTracker(1);
bLevel[i].SetImageAutoChange(0);
bLevel[i].SetItemIndex(1);
bLevel[i].AddEventMode(util.GetConstToValue(_T("TMEVENTTYPE_MOUSEUP"))|
util.GetConstToValue(_T("TMEVENTTYPE_MOUSELEVE"))|
util.GetConstToValue(_T("TMEVENTTYPE_MOUSEENTER")));
CY = CY + 9;
UIID++;
}
// ÇöÀç ·¹º§ Ç¥Ãâ
MapLevel_Master(ctrlstate.GetLevel());
}
// ÇöÀç ·¹º§ Ç¥Ãâ
void CSampleDlg::MapLevel_Master(long level)
{
if(mLevelBarBg == NULL) return;
// Image Index ¼³Á¤ 0~3
int SetEnabled = 0;
int SetDisable = 1;
for (int i=0; i < 13; i++) {
if (level == i) btnLevle[i].SetItemIndex(SetEnabled);
else btnLevle[i].SetItemIndex(SetDisable);
}
}
// Zoom In
void CSampleDlg::Map_ZoomIn()
{
CXCtrlMan ctrlman = m_Map.GetCtrlMan();
CXMasterControlState ctrlstate = ctrlman.GetControlState();
if (ctrlstate.GetLevel() > minLogicalLevel) {
ctrlstate.SetLevel(ctrlstate.GetLevel() -1);
}
}
// Zoom Out
void CSampleDlg::Map_ZoomOut()
{
CXCtrlMan ctrlman = m_Map.GetCtrlMan();
CXMasterControlState ctrlstate = ctrlman.GetControlState();
if (ctrlstate.GetLevel() < maxLogicalLevel) {
ctrlstate.SetLevel(ctrlstate.GetLevel() -1);
}
}
// Map ToolBar ¸¸µé±â Style1
void CSampleDlg::CreateToolBarUI()
{
if (bCreateToolBarStyle1 == true) {
bPanel.DestroyUIObj();
bCreateToolBarStyle1 = false;
return;
} else
bCreateToolBarStyle1 = true;
CXCtrlMan ctrlman = m_Map.GetCtrlMan();
CXUIMan uiman = ctrlman.GetUIMan();
CXMasterControlState ctrlstate = ctrlman.GetControlState();
CXSize dpsize = ctrlstate.GetSizeDP();
CXUtility util = m_Map.GetUtility();
CXImageMan imageman = ctrlman.GetImageMan();
imageman.SetDefaultPath(_T("C:\\Program Files\\TalMapX SDK\\Theme\\image\\level_icon"));
long width_px = dpsize.GetCX()/2 - 300;
bPanel = uiman.CreateUI_Panel(uiman);
bPanel.SetParent(uiman);
bPanel.SetUIID(200);
bPanel.SetAlpha(80);
bPanel.SetBound(width_px, dpsize.GetCY()-100, 530, 35);
bPanel.SetCanDrag(1);
bPanel.AddEventMode(util.GetConstToValue(_T("TMEVENTTYPE_MOUSELEAVE"))|
util.GetConstToValue(_T("TMEVENTTYPE_MOUSEENTER")));
width_px = 0;
long UIID = 201;
CXUIButton MyToolBar1[21];
for (int i=0; i< 22; i++) {
MyToolBar1[i] = uiman.CreateUI_Button(uiman);
MyToolBar1[i].SetParent(bPanel);
MyToolBar1[i].SetUIID(UIID);
CString url;
url.Format(_T("map_btn_%d.png"), i);
MyToolBar1[i].SetImageList(url, 21, 21);
MyToolBar1[i].SetBound(width_px, 5, 21, 21);
MyToolBar1[i].SetAlpha(0);
MyToolBar1[i].SetCanClick(1);
MyToolBar1[i].SetCanDrag(1);
MyToolBar1[i].SetDragTracker(1);
MyToolBar1[i].AddEventMode(util.GetConstToValue(_T("TMEVENTTYPE_MOUSEUP"))|
util.GetConstToValue(_T("TMEVENTTYPE_MOUSELEAVE"))|
util.GetConstToValue(_T("TMEVNETTYPE_MOUSEENTER")));
width_px = width_px + 25;
UIID++;
}
}
// Map ToolBar ¸¸µé±â Style 2
void CSampleDlg::CreateToolBarUI2()
{
if (bCreateToolBarStyle2 == true) {
for (int i=0; i < 23; i++) {
MyToolBar2[i].DestroyUIObj();
}
bCreateToolBarStyle2 = false;
return;
} else
bCreateToolBarStyle2 = true;
CXCtrlMan ctrlman = m_Map.GetCtrlMan();
CXUIMan uiman = ctrlman.GetUIMan();
CXMasterControlState ctrlstate = ctrlman.GetControlState();
CXSize dpsize = ctrlstate.GetSizeDP();
CXUtility util = m_Map.GetUtility();
CXImageMan imageman = ctrlman.GetImageMan();
imageman.SetDefaultPath(_T("C:\\Program Files\\TalMapX SDK\\Theme\\image\\level_icon"));
long width_px = 0;
long UIID = 300;
for (int i=0; i< 22; i++) {
MyToolBar2[i] = uiman.CreateUI_Button(uiman);
MyToolBar2[i].SetParent(bPanel);
MyToolBar2[i].SetUIID(UIID+i);
CString url;
url.Format(_T("map_btn_%d.png"), i);
MyToolBar2[i].SetImageList(url, 21, 21);
MyToolBar2[i].SetBound(width_px, dpsize.GetCY()-50, 21, 21);
MyToolBar2[i].SetAlpha(80);
MyToolBar2[i].SetCanClick(1);
MyToolBar2[i].SetCanDrag(1);
MyToolBar2[i].SetDragTracker(1);
MyToolBar2[i].SetImageAutoChange(0);
MyToolBar2[i].SetItemIndex(3);
MyToolBar2[i].AddEventMode(util.GetConstToValue(_T("TMEVENTTYPE_MOUSEUP"))|
util.GetConstToValue(_T("TMEVNETTYPE_MOUSEDOWN"))|
util.GetConstToValue(_T("TMEVENTTYPE_MOUSELEAVE"))|
util.GetConstToValue(_T("TMEVNETTYPE_MOUSEENTER")));
width_px = width_px + 25;
}
}
// OnUI_MouseHover Event
void CSampleDlg::OnUI_MouseHoverTalmapxctrl1(LPDISPATCH Obj)
{
// TODO: ¿©±â¿¡ ¸Þ½ÃÁö 󸮱â Äڵ带 Ãß°¡ÇÕ´Ï´Ù.
CXUIObj UIObj;
UIObj.AttachDispatch(Obj, FALSE);
// ToolBar Style1
if (UIObj.GetUIID() == 200) {
UIObj.SetAlpha(0);
}
CXUIObj pobj = UIObj.GetParent();
if (pobj.GetUIID() == 200) {
pobj.SetAlpha(0);
}
// ToolBar Style2
if (UIObj.GetUIID() > 300) {
UIObj.SetAlpha(0);
}
}
// OnUI_MouseLeave Event
void CSampleDlg::OnUI_MouseLeaveTalmapxctrl1(LPDISPATCH Obj)
{
// TODO: ¿©±â¿¡ ¸Þ½ÃÁö 󸮱â Äڵ带 Ãß°¡ÇÕ´Ï´Ù.
CXUIObj UIObj;
UIObj.AttachDispatch(Obj, FALSE);
// ToolBar Style1
if (UIObj.GetUIID() == 200) {
UIObj.SetAlpha(80);
}
CXUIObj pobj = UIObj.GetParent();
if (pobj.GetUIID() == 200) {
pobj.SetAlpha(80);
}
// ToolBar Style2
if (UIObj.GetUIID() > 300) {
UIObj.SetAlpha(80);
}
}
// OnUI_MouseUp Event
void CSampleDlg::OnUI_MouseUpTalmapxctrl1(LPDISPATCH Obj, long Flag, long X, long Y)
{
// TODO: ¿©±â¿¡ ¸Þ½ÃÁö 󸮱â Äڵ带 Ãß°¡ÇÕ´Ï´Ù.
CXUIObj UIObj;
UIObj.AttachDispatch(Obj, FALSE);
CXUIObj pObj;
pObj.AttachDispatch(UIObj.GetParent(), FALSE);
if (pObj.GetUIID() == 11) {
switch (UIObj.GetUIID()) {
case 12: Map_ZoomOut(); break;
case 13: Map_ZoomIn(); break;
case 14: MapLevel_Master(12); break;
case 15: MapLevel_Master(11); break;
case 16: MapLevel_Master(10); break;
case 17: MapLevel_Master(9); break;
case 18: MapLevel_Master(8); break;
case 19: MapLevel_Master(7); break;
case 20: MapLevel_Master(6); break;
case 21: MapLevel_Master(5); break;
case 22: MapLevel_Master(4); break;
case 23: MapLevel_Master(3); break;
case 24: MapLevel_Master(2); break;
case 25: MapLevel_Master(1); break;
case 26: MapLevel_Master(0); break;
}
} else if (pObj.GetUIID() == 101) {
switch (UIObj.GetUIID()) {
case 12: Map_ZoomOut(); break;
case 13: Map_ZoomIn(); break;
case 14: MapLevel_Master(12); break;
case 15: MapLevel_Master(11); break;
case 16: MapLevel_Master(10); break;
case 17: MapLevel_Master(9); break;
case 18: MapLevel_Master(8); break;
case 19: MapLevel_Master(7); break;
case 20: MapLevel_Master(6); break;
case 21: MapLevel_Master(5); break;
case 22: MapLevel_Master(4); break;
case 23: MapLevel_Master(3); break;
case 24: MapLevel_Master(2); break;
case 25: MapLevel_Master(1); break;
case 26: MapLevel_Master(0); break;
}
} else if (pObj.GetUIID() == 200) {
switch (UIObj.GetUIID()) {
case 201: Map_ZoomIn(); break;
case 202: Map_ZoomOut(); break;
case 203: OnSmRotation(); break;
case 204: OnSmHistoryprev(); break;
case 205: OnSmHistorynext(); break;
case 206: OnSmBirdview(); break;
case 207: OnSm3Dview(); break;
case 208: break;
case 209: break;
case 210: break;
case 211: break;
case 212: break;
case 213: break;
case 214: break;
case 215: break;
case 216: break;
case 217: break;
case 218: break;
case 219: break;
case 220: break;
case 221: break;
}
} else if (pObj.GetUIID() == 300) {
switch (UIObj.GetUIID()) {
case 201: Map_ZoomIn(); break;
case 202: Map_ZoomOut(); break;
case 203: OnSmRotation(); break;
case 204: OnSmHistoryprev(); break;
case 205: OnSmHistorynext(); break;
case 206: OnSmBirdview(); break;
case 207: OnSm3Dview(); break;
case 208: break;
case 209: break;
case 210: break;
case 211: break;
case 212: break;
case 213: break;
case 214: break;
case 215: break;
case 216: break;
case 217: break;
case 218: break;
case 219: break;
case 220: break;
case 221: break;
}
MyToolBar2[UIObj.GetUIID()-300].SetItemIndex(3);
}
}
// Áöµµ ȸÀü
void CSampleDlg::OnSmRotation()
{
CXControlState ctrlstate = ctrlman.GetControlState();
CXVector vector = ctrlstate.GetRotate();
vector.SetZ(vector.GetZ() + 10);
ctrlstate.SetRotate(vector);
}
// ÀÌÀü È¸é º¸±â
void CSampleDlg::OnSmHistoryprev()
{
CXCtrlMan ctrlman = m_Map.GetCtrlMan();
CXMasterControlState ctrlstate = ctrlman.GetControlState();
ctrlstate.HistoryPrev();
}
// ´ÙÀ½ È¸é º¸±â
void CSampleDlg::OnSmHistorynext()
{
CXCtrlMan ctrlman = m_Map.GetCtrlMan();
CXMasterControlState ctrlstate = ctrlman.GetControlState();
ctrlstate.HistoryNext();
}
// Bird View
void CSampleDlg::OnSmBirdview()
{
CXControlState ctrlstate = ctrlman.GetControlState();
CXVector vector = ctrlstate.GetRotate();
if (vector.GetX() != 0) {
vector.SetX(0);
} else {
vector.SetX(-60);
}
ctrlstate.SetRotate(vector);
}
// 3D º¸±â
void CSampleDlg::OnSm3Dview()
{
CXUtility util = m_Map.GetUtility();
CXControlState ctrlstate = ctrlman.GetControlState();
switch(ctrlstate.GetState(util.GetConstToValue(_T("TMCTRLSTATE_DISPLAY_BUILDING")))) {
case 1 : ctrlstate.SetState(util.GetConstToValue(_T("TMCTRLSTATE_DISPLAY_BUILDING")),
util.GetConstToValue(_T("TMCTRLSTATE_CODE_BUILDING_3D_1"))); break;
case 11 : ctrlstate.SetState(util.GetConstToValue(_T("TMCTRLSTATE_DISPLAY_BUILDING")),
util.GetConstToValue(_T("TMCTRLSTATE_CODE_BUILDING_3D_2"))); break;
case 12 : ctrlstate.SetState(util.GetConstToValue(_T("TMCTRLSTATE_DISPLAY_BUILDING")),
util.GetConstToValue(_T("TMCTRLSTATE_CODE_BUILDING_NORMAL"))); break;
}
}
|
|
|
|
See Also
|
|
Map Preview
|
|