gpsset.h

来自「一个mapxmobile+gps的小程序,需要先安装mapx mobile」· C头文件 代码 · 共 81 行

H
81
字号
// gpsset.h

#ifndef _GPSSET_H__
#define _GPSSET_H__

#pragma once

#include "mapx.h"
#include "FeatureStruct.HPP"

#define MY_INFOTOOL		1
#define MAP_DISTANCE		2
#define ADD_TARGET		3

class CGpsSet  : public CWnd
{
public:
	CGpsSet	();
	virtual ~CGpsSet() {RemoveCurrent();}
	
	void	OnMapViewChanged();
	void	SetStartXY(double x,double y);
	CMapX*	GetMapx()			{return &m_ctrlMapX;}
	void	UpdateGraph()			{UpdateFeature(m_CurrentCarLayer.GetFeatureByID(m_nFeaID));}

	void	UpdateSpeed(double speed)		{ m_dSpeed = speed;}
	void	UpdateDirection(double nTableRotation)	{ m_dDirection = nTableRotation;}
	void	UpdateDirection(CMapXFeature &feature);
public:
	//{{AFX_VIRTUAL(CGpsSet)
	public:
	virtual BOOL Create(LPCTSTR lpszClassName, LPCTSTR lpszWindowName, DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID, CCreateContext* pContext = NULL);
	//}}AFX_VIRTUAL

public:
	//{{AFX_MSG(CGpsSet)
	void OnSetFocus(CWnd* pO);
	void OnSize(UINT nType, int cx, int cy);
	//}}AFX_MSG

	void OnLayercontrol()	{m_ctrlMapX.GetLayers().LayersDlg();		}
	void OnEntire()		{m_ctrlMapX.SetZoom(m_ctrlMapX.GetGeoSetWidth());}
	void OnSelectpoint()	{m_ctrlMapX.SetCurrentTool(miSelectTool);	}
	void OnRectselect()	{m_ctrlMapX.SetCurrentTool(miRectSelectTool);	}
	void OnZoomin()		{m_ctrlMapX.SetCurrentTool(miZoomInTool);	}
	void OnZoomout()	{m_ctrlMapX.SetCurrentTool(miZoomOutTool);	}
	void OnPan()		{m_ctrlMapX.SetCurrentTool(miPanTool);		}
	void OnCenter()		{m_ctrlMapX.SetCurrentTool(miCenterTool);	}
	void OnDistance()	{m_ctrlMapX.SetCurrentTool(MAP_DISTANCE);	}
	void OnInfo()		{m_ctrlMapX.SetCurrentTool(MY_INFOTOOL);	}

	DECLARE_MESSAGE_MAP()	
	DECLARE_EVENTSINK_MAP()
private:
	CMapX	m_ctrlMapX;
	CMapXLayer m_CurrentCarLayer;
		
	double	m_dCX;		//当前位置X坐标
	double	m_dCY;		//当前位置Y坐标
	
	double	m_dSpeed;	//当前速度
	double	m_dDirection;	//当前方向
	int	m_nFeaID;	//当前图元
	
	
	void	RemoveAll();
	void	RemoveCurrent();
	void	ZoomTo();
	void	ShowCurrentFeature();
	void	HideCurrentFeature();
	bool	FindLayer(CString strLayerName);
	void	UpdateFeature(CMapXFeature &feature);
	void	OnCarMove(CMapXFeature& ft, double x, double y);
	void	OnViewScalebar();
	
	CMapXFeature FindFeature(CMapXLayer &layer)	{return layer.GetFeatureByID(m_nFeaID);}
	void OnToolUsed(short ToolNum, double X1, double Y1, double X2, double Y2, double Distance, BOOL Shift, BOOL Ctrl, VARIANT* EnableDefault);
	void OnDrawUserLayer(LPDISPATCH Layer, long hOutputDC, long hAttributeDC, LPDISPATCH RectFull, LPDISPATCH RectInvalid);
};
#endif

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?