📄 maptestdoc.h
字号:
// MapTestDoc.h : interface of the CMapTestDoc class
//
/////////////////////////////////////////////////////////////////////////////
#if !defined(AFX_MAPTESTDOC_H__2B9F225D_8819_430F_B4F1_556AAD53D8D4__INCLUDED_)
#define AFX_MAPTESTDOC_H__2B9F225D_8819_430F_B4F1_556AAD53D8D4__INCLUDED_
#include "math.h"
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
class CMapLayer;//
class CMapTestDoc : public CDocument
{
protected: // create from serialization only
CMapTestDoc();
DECLARE_DYNCREATE(CMapTestDoc)
double relfa(double r)
{
return log(tan(r*0.0087266 + 0.7853981)); // 0.7853981为45弧度
//0.0087266我Pi/360度
}
double absfa(double s)
{
return (atan(exp(s)) - 0.7853981) * 114.59156; // 57.29578*2(57.29578为一弧度)
}
// Attributes
public:
CArray<CMapLayer*, CMapLayer*> m_aLayers;//图层数组
long m_nViewWidth, m_nVeiwHeight;//窗口最大显示范围
long m_nOffsetX, m_nOffsetY;//当前地图顶点相对屏幕原点偏移量
double m_fMaxCX, m_fMaxCY;//当前地图最大显示范围(直角坐标)
double m_fMapjw[4];//当前地图经纬度范围
long m_nMaxPoint;//地图图元最大端点数
CDC* m_pMemDC;//绘制位图使用的DC
double m_fMinX, m_fMinY, m_fMaxX, m_fMaxY;//图元区域顶点坐标
bool mif_gps;//定义一个布尔变量用于分辨读取的什么文件
CString m_strMapName;//地图名称
CBitmap *m_pBitmap, *m_pDefaultBitmap;
int ONum;
long* m_pData;
CString Nam[10000]; //定义一个数组 用来存储从MID文件中读取的属性信息
// Operations
public:
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CMapTestDoc)
public:
virtual BOOL OnNewDocument();
virtual void Serialize(CArchive& ar);
//}}AFX_VIRTUAL
// Implementation
public:
void SetMapReach(double dx,double dy); //设置地图显示的区域
void InitData();
double GetDistance(double sx,double sy,double dx,double dy);
void DisplayJW(CPoint point);
void MoveOffset(CPoint point);
void LPtoDP(long& x, long& y); //地图逻辑坐标转换为屏幕坐标
void LPtoDPs(long* data, int n); //将逻辑坐标转换为显示坐标
void ConvToXYs(double* jw, long* xy, int n);//经纬度(度)->直角坐标多点转换
void DrawMap(CDC* pDC);
void SetCenter(CPoint point); //设置地图显示的中心
void Zoom(float scale);
void ConvToJW(long cx, long cy, double& jing, double& wei); //直角坐标->经纬度(度)
void ConvToXY(double jing, double wei, long& cx, long& cy); //经纬度(度)->直角坐标
void DPtoLP(long& x, long& y); //屏幕坐标转换为地图逻辑坐标
virtual ~CMapTestDoc();
#ifdef _DEBUG
virtual void AssertValid() const;
virtual void Dump(CDumpContext& dc) const;
#endif
protected:
// Generated message map functions
protected:
//{{AFX_MSG(CMapTestDoc)
// NOTE - the ClassWizard will add and remove member functions here.
// DO NOT EDIT what you see in these blocks of generated code !
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};
/////////////////////////////////////////////////////////////////////////////
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_MAPTESTDOC_H__2B9F225D_8819_430F_B4F1_556AAD53D8D4__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -