|
TalMap SDK Libary Reference |
HOWTO: Display GPS Data. |
|
Summary
|
This document describes how to use LayerTrackLog provided in TalMapX Control.
With this document, users can display GPS data more efficiently using LayerTrackLog.
|
|
|
Steps
|
1. Get Control Manager from TalMapX Control.
2. Get Layer Manager with the Contorl Manager.
3. Get LayerTrackLog with the Layer Manager.
4. Assign the data to the created Layer Object to show the GPS data.
|
|
|
Example
|
|
<html>
<head>
<script language="javascript">
<!--
//------------------------------------------------------------------------------
//
//------------------------------------------------------------------------------
var tracklog;
var pos_X, pos_Y;
function MakeLayerTrackLog(type)
{
if(tracklog) tracklog.DestroyLayerObject();
var ctrlMan = m_Map.GetCtrlMan();
var ctrlstate = ctrlMan.GetControlState();
var layerMan = ctrlMan.GetLayerMan();
var util = m_Map.GetUtility();
tracklog = layerMan.NewTrackLog(1, -1);
tracklog.BeginUpdate();
if(type == "1")
tracklog.LoadData("http://www.talmap.co.kr/tutorial/sample_gpslog/20080630_bundang.log", 1, 15);
else
tracklog.LoadData("http://www.talmap.co.kr/tutorial/sample_gpslog/20050210_namyangzu.log", 1, 15);
tracklog.LoadPosImageBMP("balls", "http://www.talmap.co.kr/tutorial/image/small_balls_red.bmp", 9, 9);
var style = layerMan.NewStyle(-1);
style.SetPen(util.RGBColor(255, 0, 0), 2, util.GetConstToValue("PS_SOLID"));
tracklog.SetStyle(style);
tracklog.EndUpdate();
/** POI setup **/
var poiMan = ctrlMan.GetPOIMan();
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();
var group = poiMan.FindGroup(1);
if(group) poiMan.DeleteGroup(1);
group = poiMan.NewGroup(1);
var item, adminItem;
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.SetCaption("TrackLog");
adminItem = adminMan.GetAdminItem(tracklog.Item_Pos()._X, tracklog.Item_Pos()._Y);
item.SetContents("Time : " + tracklog.Item_TimeStr(0) +"\n"+
"Altitude : " + tracklog.Item_Altitude() + "m\n" +
"Angle : " + tracklog.Item_Angle() + "¢ª\n"+
"Speed : " + tracklog.Item_Speed() + "km\n" +
"Address : " + adminItem.GetAdminName(" ", 3));
item.SetShowCaption(0);
item.EndUpdate();
if (i == 0) {
pos_X = tracklog.Item_Pos()._X;
pos_Y = tracklog.Item_Pos()._Y;
}
}
var ctrlstate = ctrlMan.GetControlState();
ctrlstate.SetLLCenter(pos_X, pos_Y);
}
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(Type, Intervar, Loop);
tracklog.Run(3, 200, 0);
}
}
//------------------------------------------------------------------------------
-->
</script>
</head>
<body>
<table>
<tr>
<td>
<OBJECT ID="m_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 "CXMasterControlState.h"
#include "CXThemeMan.h"
#include "CXMapMan.h"
#include "CXAdminMan.h"
#include "CXAdminItem.h"
#include "CXUtility.h"
#include "CXVector.h"
#include "CXPoint.h"
#include "CXSize.h"
#include "CXPOIMan.h"
#include "CXPOIGroup.h"
#include "CXPOIItem.h"
#include "CXPOIStyle.h"
#include "CXImageMan.h"
#include "CXMagicImageList.h"
#include "CXLayer.h"
#include "CXLayerMan.h"
#include "CXLayerStyle.h"
#include "CXLayerTrackLog.h"
void CSampleDlg::MakeLayerTrackLog(long type)
{
CXCtrlMan ctrlman = m_Map.GetCtrlMan();
CXMasterControlState ctrlstate = ctrlman.GetControlState();
CXLayerMan layerman = ctrlman.GetLayerMan();
CXUtility util = m_Map.GetUtility();
tracklog = layerman.NewTrackLog(1, -1);
tracklog.BeginUpdate();
if (type == 1) {
tracklog.LoadData(_T("http://www.talmap.co.kr/tutorial/sample_gpslog/20080630_bundang.log"), 1, 15);
} else {
tracklog.LoadData(_T("http://www.talmap.co.kr/tutorial/sample_gpslog/20050210_namyangzu.log"), 1, 15);
}
tracklog.LoadPosImageBMP(_T("balls"), _T("http://www.talmap.co.kr/tutorial/image/small_balls_red.bmp"), 9, 9);
CXLayerStyle style = layerman.NewStyle(-1);
style.SetPen(util.RGBColor(255, 0, 0), 2, util.GetConstToValue(_T("PS_SOLID")));
tracklog.SetStyle(style);
tracklog.EndUpdate();
// POI setup
CXPOIMan poiman = ctrlman.GetPOIMan();
CXImageMan imageman = ctrlman.GetImageMan();
imageman.SetDefaultPath(_T("http://www.talmap.co.kr/web/"));
CXMagicImageList image = imageman.LoadImageList(_T("ball"), _T("img/small_balls.png"), 9, 9);
CXAdminMan adminman = ctrlman.GetAdminMan();
CXPOIGroup group = poiman.FindGroup(1);
if (group) poiman.DeleteGroup(1);
group = poiman.NewGroup(1);
CXPOIItem item;
CXAdminItem adminitem;
long pos_X;
long pos_Y;
for (int i=0; i< tracklog.Item_Count(); i++) {
tracklog.Item_Select(i);
item = group.NewItem(i);
item.BeginUpdate();
CXPoint pos = tracklog.Item_Pos();
item.SetLonLat(pos.GetX(), pos.GetY());
item.SetImage(image);
item.SetCaption(_T("TrackLog"));
adminitem = adminman.GetAdminItem(pos.GetX(), pos.GetY());
CString contents;
contents.Format(_T("Time: %s\n Altitude: %d\n Angle: %d\n Speed: %d\n Address : %s\n"),
tracklog.Item_TimeStr(0),
tracklog.Item_Altitude(),
tracklog.Item_Angle(),
tracklog.Item_Speed(),
adminitem.GetAdminName(_T(""),3));
item.SetContents(contents);
item.SetShowCaption(0);
item.EndUpdate();
if (i == 0) {
pos_X = pos.GetX();
pos_Y = pos.GetY();
}
CXMasterControlState ctrlstate = ctrlman.GetControlState();
ctrlstate.SetLLCenter(pos_X, pos_Y);
}
}
void CSampleDlg::TrackLogExe()
{
if (tracklog.m_lpDispatch) {
CXCtrlMan ctrlman = m_Map.GetCtrlMan();
CXMasterControlState ctrlstate = ctrlman.GetControlState();
CXVector v = ctrlstate.GetRotate();
v.SetX(-75);
ctrlstate.SetRotate(v);
ctrlstate.SetLevel(0);
// Tracklog.Run(Type, Intervar, Loop);
tracklog.Run(3, 200, 0);
}
}
|
|
|
|
See Also
|
|
Map Preview
|
|