|
|
// 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);
group.AddEventMode(util.GetConstToValue("TMEVENTTYPE_MOUSEENTER") |
util.GetConstToValue("TMEVENTTYPE_MOUSELEAVE") |
util.GetConstToValue("TMEVENTTYPE_MOUSEUP"));
// 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);
item.AddEventMode(util.GetConstToValue("TMEVENTTYPE_MOUSEENTER") |
util.GetConstToValue("TMEVENTTYPE_MOUSELEAVE") |
util.GetConstToValue("TMEVENTTYPE_MOUSEUP"));
}
function MapEvent_OnPOI_MouseLeave(XPOIItem)
{
alert("OnPOI_MouseLeave À̺¥Æ® ¹ß»ý !");
}
<script language="javascript" for="m_Map" event="OnPOI_MouseLeave(XPOIItem)">
<!--
MapEvent_OnPOI_MouseLeave(XPOIItem);
-->
</script>
|
|
|
BEGIN_EVENTSINK_MAP(CSampleDlg, CDialog)
ON_EVENT(CSampleDlg, IDC_TALMAPXCTRL1, 1, CSampleDlg::OnCreateTalmapxctrl1, VTS_I4)
ON_EVENT(CSampleDlg, IDC_TALMAPXCTRL1, 10, CSampleDlg::OnClickNotifyTalmapxctrl1, VTS_I4 VTS_I4 VTS_I4)
ON_EVENT(CSampleDlg, IDC_TALMAPXCTRL1, 3, CSampleDlg::OnMouseDownTalmapxctrl1, VTS_I4 VTS_I4 VTS_I4)
ON_EVENT(CSampleDlg, IDC_TALMAPXCTRL1, 5, CSampleDlg::OnMouseMoveTalmapxctrl1, VTS_I4 VTS_I4 VTS_I4)
ON_EVENT(CSampleDlg, IDC_TALMAPXCTRL1, 9, CSampleDlg::OnStateChangeTalmapxctrl1, VTS_I4 VTS_I4 VTS_I4)
ON_EVENT(CSampleDlg, IDC_TALMAPXCTRL1, 23, CSampleDlg::OnUI_ClickTalmapxctrl1, VTS_DISPATCH 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, 48, CSampleDlg::OnPOI_MouseHoverTalmapxctrl1, VTS_DISPATCH)
ON_EVENT(CSampleDlg, IDC_TALMAPXCTRL1, 47, CSampleDlg::OnPOI_MouseLeaveTalmapxctrl1, VTS_DISPATCH)
ON_EVENT(CSampleDlg, IDC_TALMAPXCTRL1, 43, CSampleDlg::OnPOI_ClickTalmapxctrl1, 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, 4, CSampleDlg::OnMouseUpTalmapxctrl1, VTS_I4 VTS_I4 VTS_I4)
END_EVENTSINK_MAP()
void CSampleDlg::OnPOIAdd()
{
int ItemCount = 3;
CXUtility util = m_Map.GetUtility();
// Step1. ÁöµµÁß½ÉÁÂÇ¥¸¦ ±¸ÇÕ´Ï´Ù.
CXControlState ctrlstate = ctrlman.GetControlState();
CXPoint posLL = ctrlstate.GetLLCenter();
// Step2. POI Group À» »ý¼º ÇÕ´Ï´Ù.
CXPOIMan poiman = ctrlman.GetPOIMan();
CXPOIGroup group = poiman.FindGroup(100);
if (group.m_lpDispatch == NULL)
group = poiman.NewGroup(100);
group.AddEventMode(util.GetConstToValue(_T("TMEVENTTYPE_MOUSEENTER")) |
util.GetConstToValue(_T("TMEVENTTYPE_MOUSELEAVE")) |
util.GetConstToValue(_T("TMEVENTTYPE_MOUSEUP")));
// Step3. POI Style À» »ý¼º ÇÕ´Ï´Ù.
CXPOIStyle style = poiman.FindStyle(1000);
if (style.m_lpDispatch == NULL) {
style = poiman.NewStyle(1000);
style.SetGDIFont(_T("±¼¸²"), 0, 8);
style.SetFontColor(util.RGBColor(255, 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);
}
group.SetStyle(style);
// Step4. POI¿¡ »ç¿ëÇÒ À̹ÌÁö¸¦ ·Îµù ÇÕ´Ï´Ù.
CXImageMan imageman = ctrlman.GetImageMan();
imageman.SetDefaultPath(ctrlman.GetDefaultPath()+_T("\\Theme\\"));
CXMagicImageList image = imageman.LoadImageList(_T("CAR_IMAGE"), _T("Image\\CAR.png"), 64, 64);
// Step5. POI Item À» »ý¼º ÇÕ´Ï´Ù.
for(int i = 1; i<= ItemCount; i++) {
CXPOIItem poi = group.NewItem(i); // ID°¡ -1 ÀÌ¸é ¼øÂ÷Àû ID ÀÚµ¿»ý¼º.
poi.SetLonLat(posLL.GetX()+i*30, posLL.GetY()+i*30); // POI ÁÂÇ¥ ¼³Á¤
poi.SetImage(image); // POI À̹ÌÁö ¼³Á¤
poi.SetShowImage(1); // POI À̹ÌÁö Ç¥Ãâ (0 À̸é Ç¥Ãâ ÇÏÁö ¾ÊÀ½)
poi.SetImageIndex(0); // ImageList ¸¦ »ç¿ëÇÒ °æ¿ì À̹ÌÁöÀÇ Index
poi.SetImageOffset(3); // À̹ÌÁö offset
poi.SetTextStyle(0x12); // ÅØ½ºÆ® ½ºÅ¸ÀÏ
poi.SetStyle(style); // À§¿¡¼ »ý¼ºÇÑ ½ºÅ¸ÀÏ ÁöÁ¤, group ¿¡¼ ÁöÁ¤ÇßÀ¸¸é »ý·« °¡´É
poi.SetCaption(_T("Caption")); // ĸ¼Ç
poi.SetContents(_T("Contents \r\nContents \r\nContents \r\nContents \r\nContents \r\n"));// ÄÁÅÙÃ÷
poi.SetAnimation(200); // ImageList ¸¦ »ç¿ëÇÑ °æ¿ì ¾Ö´Ï¸ÞÀÌ¼Ç ±â´É.
poi.SetAngle(90); // ȸÀü°¢µµ
poi.SetAlpha(100); // Åõ¸íµµ 0~100
poi.AddEventMode(util.GetConstToValue(_T("TMEVENTTYPE_MOUSEENTER")) |
util.GetConstToValue(_T("TMEVENTTYPE_MOUSELEAVE")) |
util.GetConstToValue(_T("TMEVENTTYPE_MOUSEUP")));
}
CString msg;
msg.Format(_T("On POI Click GroupID (%d)\n"),group.GetID());
OutputDebugString(msg);
}
void CSampleDlg::OnPOI_MouseHoverTalmapxctrl1(LPDISPATCH POI)
{
AfxMessageBox(_T("OnPOI_MouseHoverÀ̺¥Æ® ¹ß»ý !!"));
}
void CSampleDlg::OnPOI_MouseLeaveTalmapxctrl1(LPDISPATCH POI)
{
AfxMessageBox(_T("OnPOI_MouseLeaveÀ̺¥Æ® ¹ß»ý!!"));
}
|
|