|
TalMap SDK Libary Reference |
OnPOI_UIDbClick |
»ý¼ºµÈ POI »ó¿¡ »ý¼ºµÈ UI Object¿¡¸¦ ´õºíŬ¸¯ÇßÀ» ¶§ ¹ß»ýÇÏ´Â À̺¥Æ® |
|
void OnPOI_UIDbClick(XPOIItem Obj, LONG Flag, LONG X, LONG Y, XUIObj Panel); |
|
|
Parameters
|
Obj |
À̺¥Æ®°¡ ¹ß»ýÇÑ POI Object |
Flag |
... |
X |
¸¶¿ì½º ¹öưÀÌ Å¬¸¯µÈ °÷ÀÇ X ÁÂÇ¥ |
Y |
¸¶¿ì½º ¹öưÀÌ Å¬¸¯µÈ °÷ÀÇ Y ÁÂÇ¥ |
Panel |
À̺¥Æ®°¡ ¹ß»ýÇÑ UI Object |
|
|
|
Parameter Description
|
|
Remarks
|
OnPOI_UIDbClick À̺¥Æ®´Â TalMapX Control ÀÇ POI ¿ÀºêÁ§Æ®¿Í °ü·ÃÇØ¼ ¹ß»ýÇÏ´Â À̺¥Æ® Áß ÇϳªÀÔ´Ï´Ù.
»ý¼ºµÈ POI ¿¡¼, »ç¿ëÀÚ´Â CreateInfoBox ¸Þ¼Òµå¸¦ »ç¿ëÇÏ¿© UI ¸¦ ±¸¼ºÇÒ ¼ö ÀÖ½À´Ï´Ù.
»ý¼ºµÈ UI »ó¿¡¼ ¸¶¿ì½º ¹öưÀ» ´õºíŬ¸¯ÇÏ°Ô µÇ¸é OnPOI_UIDbClick À̺¥Æ®°¡ ¹ß»ýÇÕ´Ï´Ù.
|
|
|
|
Example
|
|
<html>
<head>
<script language="javascript">
<!--
// global variable
var stcMsgArea; // ¸Þ½ÃÁö Ç¥Ãâ ¿µ¿ª
// Create Poi
function CreatePOI()
{
var ctrlman = m_Map.GetCtrlMan();
var uiman = ctrlman.GetUIMan();
var ctrlstate = ctrlman.GetControlState();
var dpsize = ctrlstate.GetSizeDP();
var util = m_Map.GetUtility();
var posLL = ctrlstate.GetLLCenter();
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);
// Step 1. Get POI Manger
var poiman = ctrlman.GetPOIMan();
// Step 2. Make POI Group
var group = poiman.NewGroup(-1);
// Step 2-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À» µû¸£°Ô µÈ´Ù.
group.SetStyle(gstyle);
// Step 3. Make POI Items
var image = imageman.LoadImageList("CAR_IMAGE", "image/CAR.png", 64, 64);
if (image.IsValid() != true) alert("Image ÀÌ»ó");
var item = group.NewItem(-1);
item.SetLonLat(posLL.X, posLL.Y);
item.SetImage(image);
item.SetShowImage(1);
item.SetImageIndex(1);
item.SetImageOffset(4);
item.SetTextStyle(0x12);
item.SetCaption("Car POI");
item.SetContents("POI Event Test");
item.SetAnimation(200);
item.SetAngle(90);
item.SetAlpha(100);
}
// OnPOIMouseUp Event Function
function MapEvent_OnPOIMouseUp(XPOIItem, Flag, X, Y)
{
stcMsgArea.SetCaption("["+XPOIItem.GetCaption()+"] OnPOIMouseUp("+Flag+","+X+","+Y+") À̺¥Æ® ¹ß»ý!!");
}
// OnPOIMouseDown Event Function
function MapEvent_OnPOIMouseDown(XPOIItem, Flag, X, Y)
{
stcMsgArea.SetCaption("["+XPOIItem.GetCaption()+"] OnPOIMouseDown("+Flag+","+X+","+Y+") À̺¥Æ® ¹ß»ý!!");
}
// OnPOIClick Event Function
function MapEvent_OnPOIClick(XPOIItem, Flag, X, Y)
{
var uipanel = XPOIItem.CreateInfoBox(0, "POI InfoBox", "Click Event¿¡ ÀÇÇØ »ý¼ºµÈ InfoBox", true, true);
}
// OnPOI_UIDbClick Event Function
function MapEvent_OnPOI_UIDbClick(XPOIItem, Flag, X, Y, Panel)
{
stcMsgArea.SetCaption("["+XPOIItem.GetCaption()+"] OnPOI_UIDbClick("+Flag+","+X+","+Y+","+Panel.GetName()+","+Panel.GetUIID()+") À̺¥Æ® ¹ß»ý!!");
}
--!>
</script>
<script language="javascript" for="m_Map" event="OnPOIMouseUp(XPOIItem, Flag, X, Y)">
<!--
MapEvent_OnPOIMouseUp(XPOIItem, Flag, X, Y);
-->
</script>
<script language="javascript" for="m_Map" event="OnPOIMouseDown(XPOIItem, Flag, X, Y)">
<!--
MapEvent_OnPOIMouseDown(XPOIItem, Flag, X, Y);
-->
</script>
<script language="javascript" for="m_Map" event="OnPOIClick(XPOIItem, Flag, X, Y)">
<!--
MapEvent_OnPOIClick(XPOIItem, Flag, X, Y);
-->
</script>
<script language="javascript" for="m_Map" event="OnPOI_UIDbClick(XPOIItem, Flag, X, Y, Panel)">
<!--
MapEvent_OnPOI_UIDbClick(XPOIItem, Flag, X, Y, Panel);
-->
</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 "CXPOIMan.h"
#include "CXPOIGroup.h"
#include "CXPOIItem.h"
#include "CXPOIStyle.h"
#include "CXImageMan.h"
#include "CXMagicImage.h"
#include "CXUIMan.h"
#include "CXUIObj.h"
#include "CXUIStaticText.h"
BEGIN_EVENTSINK_MAP(CSampleDlg, CDialog)
ON_EVENT(CSampleDlg, IDC_TALMAPXCTRL1, 41, CSampleDlg::OnPOIMouseUpTalmapxctrl1, VTS_DISPATCH VTS_I4 VTS_I4 VTS_I4)
ON_EVENT(CSampleDlg, IDC_TALMAPXCTRL1, 42, CSampleDlg::OnPOIMouseDownTalmapxctrl1, VTS_DISPATCH VTS_I4 VTS_I4 VTS_I4)
ON_EVENT(CSampleDlg, IDC_TALMAPXCTRL1, 43, CSampleDlg::OnPOIClickTalmapxctrl1, VTS_DISPATCH VTS_I4 VTS_I4 VTS_I4)
ON_EVENT(CSampleDlg, IDC_TALMAPXCTRL1, 44, CSampleDlg::OnPOIUIClickTalmapxctrl1, VTS_DISPATCH VTS_I4 VTS_I4 VTS_I4 VTS_DISPATCH)
END_EVENTSINK_MAP()
void CSampleDlg::OnPOIAdd()
{
// »ö»ó°ª ¼³Á¤À» À§ÇØ GXUtility °´Ã¼¸¦ °¡Á®¿Â´Ù.
CXUtility util = m_Map.GetUtility();
// ÁöµµÁ᫐ ÁÂÇ¥°ªÀ» ±¸Çϱâ À§ÇØ ÁöµµÀÇ ÇöÀç »óŸ¦ °¡Á®¿Â´Ù.
CXControlState ctrlstate = ctrlman.GetControlState();
// Áöµµ Áß½ÉÁÂÇ¥¸¦ ±¸ÇÑ´Ù.
CXPoint posLL = ctrlstate.GetLLCenter();
// 1. POI º¯¼ö¸¦ ÃʱâÈ ÇÑ´Ù.
CXPOIMan poiman = ctrlman.GetPOIMan();
//CXBaseMan baseman = poiman.CastToBaseManager();
// 2. POI ±×·ìÀ» ¼³Á¤ ÇÑ´Ù.
CXPOIGroup group = poiman.FindGroup(1);
if (group.m_lpDispatch == NULL)
group = poiman.NewGroup(1);
// 3. POI ½ºÅ¸ÀÏÀ» ÁöÁ¤ÇÑ´Ù.
CXPOIStyle style = poiman.NewStyle(-1);
// POI ±Û¾¾Ã¼ ¼³Á¤
style.SetGDIFont(_T("±¼¸²"), 0, 8);
// POI ±Û¾¾»ö»ó ¼³Á¤
style.SetFontColor(util.RGBColor(255, 0, 0));
// POI ±Û¾¾OutLine»ö»ó ¼³Á¤
style.SetFontOutColor(util.RGBColor(255, 255, 255));
// POI Caption ¹è°æ»ö»ó ¼³Á¤
style.SetBrush(util.RGBColor(100, 0, 255), 0);
// POI ±Û¾¾±½±â ¼³Á¤
style.SetPen(util.RGBColor(0, 0, 0), 1, 0);
// 4. styleÀ» ±×·ì¿¡ Àû¿ëÇÑ´Ù.
group.SetStyle(style);
// 5. POI À̹ÌÁö ¼³Á¤À» À§ÇØ ÃʱâÈ ÇÑ´Ù.
CXImageMan imageman = ctrlman.GetImageMan();
// À̹ÌÁö °æ·Î ¼³Á¤
imageman.SetDefaultPath(_T("http://www.talmap.co.kr/tutorial/"));
// À̹ÌÁö À̸§ ¹× Å©±â ¼³Á¤
CXMagicImageList image = imageman.LoadImageList(_T("CAR_IMAGE"), _T("image/CAR.png"), 64, 64);
// 6. POI ¸¦ ÃʱâÈ ÇÑ´Ù.
CXPOIItem poi = group.NewItem(-1);
// POI ÁÂÇ¥°ª ¼³Á¤
poi.SetLonLat(posLL.GetX(), posLL.GetY());
// POI À̹ÌÁö ¼³Á¤
poi.SetImage(image);
// POI À̹ÌÁö Ç¥Ãâ À¯¹« 1:Ç¥Ãâ 0:Ç¥Ãâ¾ÈÇÔ
poi.SetShowImage(1);
// POI À̹ÌÁö Index¼³Á¤
poi.SetImageIndex(1);
// POI À̹ÌÁö À§Ä¡ ¼³Á¤ (0~8)
poi.SetImageOffset(8);
// POI Text¼³Á¤
poi.SetTextStyle(0x12);
// POI style¼³Á¤
poi.SetStyle(style);
// POI ĸ¼Ç¼³Á¤
poi.SetCaption(_T("Caption"));
// POI Contents¼³Á¤
poi.SetContents(_T("Contents"));
// POI ¾Ö´Ï¸ÞÀ̼Ǽ³Á¤ 1ÃÊ´ÜÀ§
poi.SetAnimation(200);
// POI ȸÀü¼³Á¤
poi.SetAngle(90);
// POI Åõ¸íµµ ¼³Á¤
poi.SetAlpha(100);
// ¸Þ½ÃÁö ¿µ¿ª Ãß°¡
CXSize dpsize = ctrlstate.GetSizeDP();
CXUIMan uiman = ctrlman.GetUIMan();
stcMsgArea = uiman.CreateUI_StaticText(uiman);
stcMsgArea.SetParent(uiman);
stcMsgArea.SetBound(4, 4, dpsize.GetCX()-8, 20);
stcMsgArea.SetAnchor(util.GetConstToValue(_T("TMUIOBJ_ANCHOR_LEFT"))|util.GetConstToValue(_T("TMUIOBJ_ANCHOR_TOP")));
stcMsgArea.SetBackColor(util.RGBColor(255, 255, 255));
stcMsgArea.SetFont(12, 1, _T("±¼¸²"));
stcMsgArea.SetCaption(_T("À̺¥Æ® 󸮿¡ ´ëÇÑ °á°ú¸¦ ¿©±â¿¡ º¸¿©ÁÝ´Ï´Ù."));
stcMsgArea.SetCanFocus(0);
stcMsgArea.SetCanClick(0);
}
void CSampleDlg::OnPOIMouseUpTalmapxctrl1(LPDISPATCH POI, long nFlag, long X, long Y)
{
CXPOIItem poi;
poi.AttachDispatch(POI, FALSE);
CString msg;
msg.Format(_T("[%s] OnPOIMouseUp(%d, %d, %d)"), poi.GetCaption(), nFlag, X, Y);
stcMsgArea.SetCaption(msg);
}
void CSampleDlg::OnPOIMouseDownTalmapxctrl1(LPDISPATCH POI, long nFlag, long X, long Y)
{
CXPOIItem poi;
poi.AttachDispatch(POI, FALSE);
CString msg;
msg.Format(_T("[%s] OnPOIMouseDown(%d, %d, %d)"), poi.GetCaption(), nFlag, X, Y);
stcMsgArea.SetCaption(msg);
}
void CSampleDlg::OnPOIClickTalmapxctrl1(LPDISPATCH POI, long nFlag, long X, long Y)
{
CXPOIItem poi;
poi.AttachDispatch(POI, FALSE);
CString msg;
msg.Format(_T("[%s] OnPOIClick(%d, %d, %d)"), poi.GetCaption(), nFlag, X, Y);
stcMsgArea.SetCaption(msg);
}
void CSampleDlg::OnPOIUIClickTalmapxctrl1(LPDISPATCH POI, long nFlag, long X, long Y, LPDISPATCH Obj)
{
CXPOIItem poi;
poi.AttachDispatch(POI, FALSE);
CString msg;
msg.Format(_T("[%s] OnPOI_UIDbClick(%d, %d, %d)"), poi.GetCaption(), nFlag, X, Y);
stcMsgArea.SetCaption(msg);
}
|
|
|
|
See Also
|
|
Map Preview
|
|