var tracklog;
var pos_X, pos_Y;
function MakeLayerTrackLog()
{
if(tracklog) tracklog.DestroyLayerObject();
var ctrlMan = m_Map.GetCtrlMan();
var ctrlstate = ctrlMan.GetControlState();
var layerMan = ctrlMan.GetLayerMan();
var util = m_Map.GetUtility();
// step1. TrackLog ¸¦ »ý¼º ÇÕ´Ï´Ù.
tracklog = layerMan.NewTrackLog(1, -1);
tracklog.BeginUpdate();
// step1_1. GPS µ¥ÀÌÅ͸¦ ÀнÀ´Ï´Ù.
tracklog.LoadData("http://www.talmap.co.kr/tutorial/sample_gpslog/20080630_bundang.log", 1, 15);
// step1_2. TrackLog ¿¡ Ç¥ÃâµÉ À̹ÌÁö¸¦ ¼³Á¤ ÇÕ´Ï´Ù.
tracklog.LoadPosImageBMP("balls", "http://www.smartgps.co.kr/smartgps/image/poi/small_balls_red.bmp", 9, 9);
// step1_3. ½ºÅ¸ÀÏÀ» ÁöÁ¤ ÇÕ´Ï´Ù.
var style = layerMan.FindStyle(200);
if (!style) {
style = layerMan.NewStyle(200);
style.SetPen(util.RGBColor(255, 0, 0), 2, util.GetConstToValue("PS_SOLID"));
}
// step 1_4. TrackLog ¿¡ ½ºÅ¸ÀÏÀ» ÁöÁ¤ ÇÕ´Ï´Ù.
tracklog.SetStyle(style);
tracklog.EndUpdate();
// step2. TrackLog Á¤º¸ Ç¥ÃâÀ» À§ÇØ POI¸¦ »ý¼º ÇÕ´Ï´Ù.
var poiMan = ctrlMan.GetPOIMan();
// step2_1. À̹ÌÁö¸¦ ¼³Á¤ ÇÕ´Ï´Ù.
var imageMan = ctrlMan.GetImageMan();
imageMan.SetDefaultPath("http://www.talmap.co.kr/web/");
var image = imageMan.LoadImageList("ball", "img/small_balls.png", 9, 9);
var adminMan = ctrlMan.GetAdminMan();
// step2_2. ±×·ìÀ» »ý¼º ÇÕ´Ï´Ù.
var group = poiMan.FindGroup(1);
if(group) poiMan.DeleteGroup(1);
group = poiMan.NewGroup(1);
var item, adminItem;
// step2_3. ¾ÆÀÌÅÛÀ» »ý¼ºÇÕ´Ï´Ù.
for(var i = 0; i < tracklog.Item_Count(); i++) {
tracklog.Item_Select(i);
item = group.NewItem(i);
item.BeginUpdate();
item.SetLonLat(tracklog.Item_Pos()._X, tracklog.Item_Pos()._Y);
item.SetImage(image);
item.SetImageOffset(4);
item.SetCaption("TrackLog");
// step2_4. XAdminManÀ» ÀÌ¿ëÇÏ¿© ÇàÁ¤µ¿ Á¤º¸¸¦ ±¸ÇÕ´Ï´Ù.
adminItem = adminMan.GetAdminItem(tracklog.Item_Pos()._X, tracklog.Item_Pos()._Y);
var addr;
if (adminItem)
addr = adminItem.GetAdminName(" ", 3);
else
addr = "";
item.SetContents("Time : " + ConverterDate(tracklog.Item_TimeStr(0)) +"\n"+
"Altitude : " + tracklog.Item_Altitude() + "m\n" +
"Angle : " + tracklog.Item_Angle() + "¢ª\n"+
"Speed : " + tracklog.Item_Speed() + "km\n" +
"ÁÖ¼Ò : " + addr);
item.SetShowCaption(1);
item.EndUpdate();
if (i == 0) {
pos_X = tracklog.Item_Pos()._X;
pos_Y = tracklog.Item_Pos()._Y;
}
}
// step2_5. TrackLogÀÇ Ã¹¹øÂ° ÁÂÇ¥À¸·Î ÁöµµÀ̵¿ ÇÕ´Ï´Ù.
var ctrlstate = ctrlMan.GetControlState();
ctrlstate.SetLLCenter(pos_X, pos_Y);
m_Map.SetFocus();
}
function TrackLogExe()
{
if(tracklog) {
var ctrlman = m_Map.GetCtrlMan();
var ctrlstate = ctrlman.GetControlState();
v = ctrlstate.GetRotate();
v._X = -75;
ctrlstate.SetRotate(v);
ctrlstate.SetLevel(0);
tracklog.Run(2, 200, 0);
}
}
function ConverterDate(pm_date)
{
var newDate;
if(pm_date) {
newDate = pm_date.substring(0,4) + "-";
newDate += pm_date.substring(4,6) + "-";
newDate += pm_date.substring(6,8) + " ";
newDate += pm_date.substring(9,11) + ":";
newDate += pm_date.substring(11,13) + ":";
newDate += pm_date.substring(13);
}
return newDate;
}