|
|
<html>
<head>
<script language="javascript">
<!--
// global variable
var stcMsgArea; // ¸Þ½ÃÁö Ç¥Ãâ ¿µ¿ª
var UIID_MENUBTN_1 = 11;
var UIID_MENUBTN_2 = 12;
var UIID_MENUBTN_3 = 13;
function CreateUI() {
var ctrlMan = m_Map.GetCtrlMan();
var ctrlstate = ctrlMan.GetControlState();
var dpsize = ctrlstate.GetSizeDP();
var uiman = ctrlMan.GetUIMan();
var util = m_Map.GetUtility();
var rect = ctrlstate.GetMapRect();
var imageman = ctrlMan.GetImageMan();
imageman.SetDefaultPath("http://www.talmap.co.kr/tutorial/");
// ¸Þ½ÃÁö ¿µ¿ª
stcMsgArea = uiman.CreateUI_StaticText(uiman);
stcMsgArea.SetParent(uiman);
stcMsgArea.SetBound(4, 4, dpsize._CX-8, 22);
stcMsgArea.SetPanelImage("image/textbox_left.bmp", "image/textbox_body.bmp", "image/textbox_right.bmp");
stcMsgArea.SetStretch(1);
stcMsgArea.SetAnchor(util.GetConstToValue("TMUIOBJ_ANCHOR_LEFT") | util.GetConstToValue("TMUIOBJ_ANCHOR_TOP"));
stcMsgArea.SetBackColor(util.RGBColor(255, 255, 255));
stcMsgArea.SetFont(12, 1, "±¼¸²");
stcMsgArea.SetCaption("À̺¥Æ® 󸮿¡ ´ëÇÑ °á°ú¸¦ ¿©±â¿¡ º¸¿©ÁÝ´Ï´Ù.");
stcMsgArea.SetCanFocus(0);
stcMsgArea.SetCanClick(0);
}
// Polygon »ý¼º
function MakePolygon() {
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 XLayer Style
var style = layerMan.FindStyle(200);
if (style == null) {
style = layerMan.NewStyle(200);
style.SetPen(util.RGBColor(0, 0, 0), 3, util.GetConstToValue("PS_SOLID"));
style.SetBrush(util.RGBAColor(255, 0, 0, 100), util.GetConstToValue("BS_SOLID"));
}
var layer = layerMan.FindLayer(1000);
if (!layer) {
layer = layerMan.NewLayer(1000);
layer.AddEventMode(util.GetConstToValue("TMEVETTYPE_CREATE") |
util.GetConstToValue("TMEVETTYPE_DESTROY") |
util.GetConstToValue("TMEVENTTYPE_CLICK"));
}
var polygon = layerMan.NewPolygon(1000, -1);
polygon.BeginUpdate();
polygon.SetCanClick(1);
polygon.SetCanFocus(1);
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.AddEventMode(util.GetConstToValue("TMEVETTYPE_CREATE") |
util.GetConstToValue("TMEVETTYPE_DESTROY") |
util.GetConstToValue("TMEVENTTYPE_CLICK"));
polygon.SetClosed(1); // 0: PolyLine, 1: Polygon
polygon.SetStyle(style);
polygon.EndUpdate();
}
// LayerObject »èÁ¦
function DestroyObj() {
var ctrlMan = m_Map.GetCtrlMan();
var layerMan = ctrlMan.GetLayerMan();
var layer = layerMan.FindLayer(1000);
if (layer != null)
layer.DestroyLayer();
}
// OnLayerObject_Create Event Function
function MapEvent_OnLayerObject_Create(obj)
{
stcMsgArea.SetCaption("["+obj.GetID()+"] OnLayerObject_Create À̺¥Æ® ¹ß»ý!!");
}
// OnLayerObject_Detroy Event Function
function MapEvent_OnLayerObject_Destroy(obj)
{
stcMsgArea.SetCaption("["+obj.GetID()+"] OnLayerObject_Destroy À̺¥Æ® ¹ß»ý!!");
}
// OnLyserObject_Click Evnet Function
function MapEvent_OnLayerObject_Click(obj, Flag, X, Y)
{
stcMsgArea.SetCaption("["+obj.GetID()+"] OnLayerObject_Click ("+Flag+","+X+","+Y+")À̺¥Æ® ¹ß»ý!!");
}
-->
</script>
<!-- TalMapX Control Event --------------------------------------------------->
<script language="javascript" for="m_Map" event="OnCreate(Flag)">
<!--
MapEvent_OnCreate(Flag);
CreateUI();
MakePolygon();
-->
</script>
<script language="javascript" for="m_Map" event="OnStateChange(Code, Value1, Value2)">
<!--
MapEvent_OnStateChange(Code, Value1, Value2);
-->
</scrip->
<script language="javascript" for="m_Map" event="OnLayerObject_Create(obj)">
<!--
MapEvent_OnLayerObject_Create(obj);
-->
</script>
<script language="javascript" for="m_Map" event="OnLayerObject_Destroy(obj)">
<!--
MapEvent_OnLayerObject_Destroy(obj);
-->
</script>
<script language="javascript" for="m_Map" event="OnLayerObject_Click(obj, Flag, X, Y)">
<!--
MapEvent_OnLayerObject_Click(obj, Flag, X, Y);
-->
</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 "CXCtrlMan.h"
#include "CXControlState.h"
#include "CXUtility.h"
#include "CXPoint.h"
#include "CXSize.h"
#include "CXLayerMan.h"
#include "CXLayer.h"
#include "CXLayerStyle.h"
#include "CXLayerPolygon.h"
#include "CXLayerObject.h"
BEGIN_EVENTSINK_MAP(CSampleDlg, CDialog)
ON_EVENT(CSampleDlg, IDC_TALMAPXCTRL1, 61, CSampleDlg::OnLayerObject_CreateTalmapxctrl1, VTS_DISPATCH)
ON_EVENT(CSampleDlg, IDC_TALMAPXCTRL1, 62, CSampleDlg::OnLayerObject_DestroyTalmapxctrl1, VTS_DISPATCH)
ON_EVENT(CSampleDlg, IDC_TALMAPXCTRL1, 67, CSampleDlg::OnLayerObject_ClickTalmapxctrl1, VTS_DISPATCH VTS_I4 VTS_I4 VTS_I4)
END_EVENTSINK_MAP()
void CSampleDlg::MakePolygon()
{
CXUtility util = m_Map.GetUtility();
CXControlState ctrlstate = ctrlman.GetControlState();
CXPoint centerLL = ctrlstate.GetLLCenter();
CXLayerMan layerman = ctrlman.GetLayerMan();
// Make Layer Style
CXLayerStyle style = layerman.FindStyle(200);
if (style.m_lpDispatch == NULL) {
style = layerman.NewStyle(200);
style.SetPen(util.RGBColor(0, 0, 0), 3, util.GetConstToValue(_T("PS_SOLID")));
style.SetBrush(util.RGBAColor(255, 0, 0, 100), util.GetConstToValue(_T("BS_SOLID")));
}
// Make Layer
CXLayer layer = layerman.FindLayer(1000);
if (layer.m_lpDispatch == NULL)
{
layer = layerman.NewLayer(1000);
layer.AddEventMode(util.GetConstToValue(_T("TMEVENTTYPE_CREATE")) |
util.GetConstToValue(_T("TMEVENTTYPE_DESTROY")) |
util.GetConstToValue(_T("TMEVENTTYPE_CLICK")));
// Make Polygon
CXLayerPolygon polygon = layerman.NewPolygon(1000, 1);
polygon.BeginUpdate();
polygon.AddPoint(centerLL.GetX() + 100, centerLL.GetY() + 100);
polygon.AddPoint(centerLL.GetX() + 100, centerLL.GetY() + 500);
polygon.AddPoint(centerLL.GetX() + 500, centerLL.GetY() + 500);
polygon.AddPoint(centerLL.GetX() + 500, centerLL.GetY() + 100);
polygon.SetClosed(1);
polygon.SetStyle(style);
polygon.SetCanClick(1);
polygon.SetCanFocus(1);
polygon.SetEventMode(util.GetConstToValue(_T("TMEVENTTYPE_CREATE")) |
util.GetConstToValue(_T("TMEVENTTYPE_DESTROY")) |
util.GetConstToValue(_T("TMEVENTTYPE_CLICK")));
polygon.EndUpdate();
} else {
// Destory LayerObject
layer.DestroyLayer();
}
}
void CSampleDlg::OnLayerObject_ClickTalmapxctrl1(LPDISPATCH LayerObject, long nFlag, long X, long Y)
{
OutputDebugString(_T("OnLyaerObject_Click \n"));
}
void CSampleDlg::OnLayerObject_CreateTalmapxctrl1(LPDISPATCH LayerObject)
{
OutputDebugString(_T("OnLyaerObject_CREATE!! \n"));
}
void CSampleDlg::OnLayerObject_DestroyTalmapxctrl1(LPDISPATCH LayerObject)
{
OutputDebugString(_T("OnLyaerObject_Destroy!! \n"));
}
|
|