?? 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 + -