|
|
#pragma once
|
|
|
|
|
|
|
|
|
#include "resource.h"
|
|
|
|
|
|
|
|
|
class CShowHZDistanceDlg : public CDialog
|
|
|
{
|
|
|
DECLARE_DYNAMIC(CShowHZDistanceDlg)
|
|
|
|
|
|
public:
|
|
|
CShowHZDistanceDlg(CWnd* pParent = NULL); // 标准构造函数
|
|
|
virtual ~CShowHZDistanceDlg();
|
|
|
|
|
|
//输入点的坐标
|
|
|
//输入:经度lon(以度为单位),纬度lat(以度为单位)
|
|
|
void SetPtCoordinate(const double lon, const double lat);
|
|
|
|
|
|
//功能:初始化所有数据
|
|
|
void ResetCoordinateData();
|
|
|
|
|
|
//功能:移动对话框到给定的显示区域
|
|
|
//输入:显示区域rcArea
|
|
|
void MoveToGivenArea(const CRect rcArea);
|
|
|
|
|
|
|
|
|
// 对话框数据
|
|
|
enum { IDD = IDD_DISTANCE_DIALOG };
|
|
|
|
|
|
protected:
|
|
|
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持
|
|
|
|
|
|
DECLARE_MESSAGE_MAP()
|
|
|
|
|
|
private:
|
|
|
virtual void OnCancel();
|
|
|
|
|
|
//功能:计算两点之间的水平距离和方位角
|
|
|
void Cal2PtsDisAZ();
|
|
|
|
|
|
private:
|
|
|
double m_hzDistance;
|
|
|
|
|
|
double m_pt1Lat;
|
|
|
double m_pt2Lat;
|
|
|
double m_pt1Lon;
|
|
|
double m_pt2Lon;
|
|
|
|
|
|
//是否已经存在了1个点
|
|
|
bool m_bHaveOnePoint;
|
|
|
|
|
|
//水平距离
|
|
|
CString m_strHZDistance;
|
|
|
|
|
|
//方位角
|
|
|
CString m_strAZAngle;
|
|
|
|
|
|
//显示区域
|
|
|
CRect m_rcHZDistanceDlg;
|
|
|
public:
|
|
|
virtual BOOL OnInitDialog();
|
|
|
};
|