📄 mapshow.h
字号:
// MapShow.h: interface for the CMapShow class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_MAPSHOW_H__66E7A6F4_A22F_4BD7_A288_52CD4F61D330__INCLUDED_)
#define AFX_MAPSHOW_H__66E7A6F4_A22F_4BD7_A288_52CD4F61D330__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
//显示地图数据类
class AFX_EXT_CLASS CMapShow
{
public:
//标记雷达站
void MarkSites(CDC *pDC,double SiteLon,double SiteLat,
short shape);
//得到地图尺寸
void GetMapSize(int &MapSizeX,int &MapSizeY);
//从文件读取地图数据
bool LoadMapData(CString MapFileName);
//经纬度转换成像素点
bool LonLatToPoint(double Lon,double Lat,int &x,int &y);
//像素点转换为经纬度
bool PointToLonLat(int x,int y,double &Lon,double &Lat);
//从内存中读取地图数据
void GetData(double EastView,
double WestView,
double NorthView,
double SouthView,
CArray<CArray<double,double>,CArray<double,double> &> &RgnViewLon,
CArray<CArray<double,double>,CArray<double,double> &> &RgnViewLat,
int NumRgnView,
CArray<int,int> &NumPntView,
CArray<bool,bool> &RgnIsSeaView,
CArray<double,double> &RgnEastView,
CArray<double,double> &RgnSouthView,
CArray<double,double> &RgnWestView,
CArray<double,double> &RgnNorthView );
//设置颜色
void SetColor(COLORREF ColorIsland,COLORREF ColorSea,
COLORREF ColorLonLatLine);
//设置绘图参数
void SetParameter(CPoint p0,double PixelPerKm,double grid);
//设置绘图环境
void SetViewEnvironment();
//画地图
void DrawMap(CDC *pDC);
//画经纬线
void DrawLngLatLine(CDC *pDC);
CMapShow();
virtual ~CMapShow();
private:
//图形原点
CPoint m_p0;
//网格大小
double m_grid;
//开始和结束的经纬度
double m_LonBegin,m_LonEnd,m_LatBegin,m_LatEnd;
//地图x轴和y轴的尺寸
int m_MapSizeX,m_MapSizeY;
//每公里的像素点数
double m_PixelPerKm;
//每纬度的公里数
double m_KmPerLat;
//每经度的公里数
double m_KmPerLon;
//每经度的像素点数
double m_PixelPerLon;
//每纬度的像素点数
double m_PixelPerLat;
//岛屿颜色,海洋颜色,经纬线颜色
COLORREF m_ColorIsland,m_ColorSea,m_ColorLonLatLine;
double m_EastView; //地图的最东经度
double m_WestView; //地图的最西经度
double m_NorthView; //地图的最北纬度
double m_SouthView; //地图的最南纬度
//每一个区域内点的经度、纬度
CArray<CArray<double,double>,CArray<double,double> &> m_RgnViewLon;
CArray<CArray<double,double>,CArray<double,double> &> m_RgnViewLat;
int m_NumRgnView; //number of regions to view
CArray<int,int> m_NumPntView; //number of points on each region
CArray<bool,bool> m_RgnIsSeaView; //the region is sea or island
CArray<double,double> m_RgnEastView, //段最东经度
m_RgnSouthView, //段最南纬度 数组
m_RgnWestView, //段最西经度
m_RgnNorthView; //段最北纬度
};
#endif // !defined(AFX_MAPSHOW_H__66E7A6F4_A22F_4BD7_A288_52CD4F61D330__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -