|
|
|
|
#include "StdAfx.h"
|
|
|
|
|
#include "Globe.h"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//<2F><>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
HWND g_viewHwnd;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD>
|
|
|
|
|
CBitmap g_bmpRed;
|
|
|
|
|
|
|
|
|
|
//<2F>̵<EFBFBD>
|
|
|
|
|
CBitmap g_bmpGreen;
|
|
|
|
|
|
|
|
|
|
//<2F>Ƶ<EFBFBD>
|
|
|
|
|
CBitmap g_bmpYellow;
|
|
|
|
|
|
|
|
|
|
//<2F>ҵ<EFBFBD>
|
|
|
|
|
CBitmap g_bmpGray;
|
|
|
|
|
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD>ˢ<EFBFBD><CBA2><EFBFBD><EFBFBD>ʾ<EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>
|
|
|
|
|
int g_refreshTimes;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//ң<><D2A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֡<EFBFBD><D6A1>֡<EFBFBD><D6A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
|
|
|
|
|
double g_mainFrameCountTime;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//<2F><>ͼ<EFBFBD><CDBC>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
HWND g_mapHwnd;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD>վλ<D5BE><CEBB>
|
|
|
|
|
double g_gcsLon; //<2F><><EFBFBD><EFBFBD>
|
|
|
|
|
double g_gcsLat; //γ<><CEB3>
|
|
|
|
|
double g_gcsAlt; //<2F>߶<EFBFBD>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>ģʽ<C4A3><CABD>0Ϊ<30>õ㣻1Ϊ<31><CEAA><EFBFBD><EFBFBD><EFBFBD>༭<EFBFBD><E0BCAD>ɾ<EFBFBD><C9BE>ģʽ
|
|
|
|
|
int g_ptModeInLineDesign;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//<2F><><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼
|
|
|
|
|
CString GetSoftwareCurrentDirectory()
|
|
|
|
|
{
|
|
|
|
|
TCHAR exeFullPath[MAX_PATH];
|
|
|
|
|
GetModuleFileName(NULL, exeFullPath, MAX_PATH);
|
|
|
|
|
|
|
|
|
|
CString str;
|
|
|
|
|
str.Format(_T("%s"), exeFullPath);
|
|
|
|
|
|
|
|
|
|
int index = str.ReverseFind('\\');
|
|
|
|
|
|
|
|
|
|
str.Delete(index, str.GetLength()-index);
|
|
|
|
|
|
|
|
|
|
return str;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//<2F><><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD>в<EFBFBD><D0B2><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
//<2F><><EFBFBD>룺<EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>strDir
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5>true<75><65><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڸ<EFBFBD><DAB8>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>
|
|
|
|
|
// false<73><65><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڸ<EFBFBD><DAB8>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>
|
|
|
|
|
bool SearchDirectory(const CString &strDir)
|
|
|
|
|
{
|
|
|
|
|
CFileFind fileFind;
|
|
|
|
|
|
|
|
|
|
if (fileFind.FindFile(strDir))
|
|
|
|
|
{
|
|
|
|
|
fileFind.Close();
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
fileFind.Close();
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//<2F><><EFBFBD>ܣ<EFBFBD><DCA3>½<EFBFBD><C2BD>ļ<EFBFBD><C4BC><EFBFBD>
|
|
|
|
|
//<2F><><EFBFBD>룺<EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>strDir
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5>true<75><65><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD>
|
|
|
|
|
// false<73><65><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>
|
|
|
|
|
extern bool CreateDirectory(const CString &strDir)
|
|
|
|
|
{
|
|
|
|
|
CString File_directory(strDir);
|
|
|
|
|
|
|
|
|
|
if (!PathIsDirectory(File_directory))//<2F><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>
|
|
|
|
|
{
|
|
|
|
|
CreateDirectory(File_directory, NULL);
|
|
|
|
|
}
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//<2F><>ȡû<C8A1>к<EFBFBD><EFBFBD><D7BA><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>
|
|
|
|
|
extern CString ExtractFileName(CString fileName)
|
|
|
|
|
{
|
|
|
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>
|
|
|
|
|
int dotIndex = fileName.ReverseFind(_T('.'));
|
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD>ҵ<EFBFBD><D2B5>˵㣬<CBB5><E3A3AC><EFBFBD>ҵ㲻<D2B5>ǵ<EFBFBD>һ<EFBFBD><D2BB><EFBFBD>ַ<EFBFBD>
|
|
|
|
|
if (dotIndex != -1)
|
|
|
|
|
{
|
|
|
|
|
// <20><>ȡ<EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
CString fileNameWithoutExtension = fileName.Left(dotIndex);
|
|
|
|
|
return fileNameWithoutExtension;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
// <20><><EFBFBD><EFBFBD>û<EFBFBD><C3BB><EFBFBD>ҵ<EFBFBD><D2B5>㣬˵<E3A3AC><CBB5>û<EFBFBD>к<EFBFBD><EFBFBD><D7BA>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD>ʾ<EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>
|
|
|
|
|
return fileName;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//<2F><><EFBFBD>ܣ<EFBFBD>һ<EFBFBD><D2BB><EFBFBD>ֽڷֳ<DAB7>8λ<38><CEBB><EFBFBD>ֱ<EFBFBD><D6B1>洢<EFBFBD><E6B4A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
//<2F><><EFBFBD>룺<EFBFBD>ֽ<EFBFBD>oneByte
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>8λ<38><CEBB>λ<EFBFBD><CEBB><EFBFBD><EFBFBD>bitArray
|
|
|
|
|
void BYTE2BitArray(int *bitArray, const BYTE oneByte)
|
|
|
|
|
{
|
|
|
|
|
memset(bitArray,0,8);
|
|
|
|
|
|
|
|
|
|
bitArray[0] = oneByte&0X01;
|
|
|
|
|
bitArray[1] = (oneByte&0X02)>>1;
|
|
|
|
|
bitArray[2] = (oneByte&0X04)>>2;
|
|
|
|
|
bitArray[3] = (oneByte&0X08)>>3;
|
|
|
|
|
bitArray[4] = (oneByte&0X10)>>4;
|
|
|
|
|
bitArray[5] = (oneByte&0X20)>>5;
|
|
|
|
|
bitArray[6] = (oneByte&0X40)>>6;
|
|
|
|
|
bitArray[7] = (oneByte&0X80)>>7;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//<2F><><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD><DEB7><EFBFBD>2<EFBFBD><32><EFBFBD>ֽڵ<D6BD><DAB5><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><D7AA><EFBFBD><EFBFBD>λ<EFBFBD><CEBB><EFBFBD>飨16<31><36><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD>
|
|
|
|
|
//<2F><><EFBFBD>룺<EFBFBD><EFBFBD><DEB7>ŵ<EFBFBD><C5B5><EFBFBD><EFBFBD><EFBFBD>usValue
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>16<31><36><EFBFBD><EFBFBD><EFBFBD>ݵ<EFBFBD>һά<D2BB><CEAC><EFBFBD><EFBFBD>
|
|
|
|
|
void UnsignedShort2BitArray(int *pBitArray, const unsigned short usValue)
|
|
|
|
|
{
|
|
|
|
|
memset(pBitArray,0,16);
|
|
|
|
|
|
|
|
|
|
pBitArray[0] = usValue&0X01;
|
|
|
|
|
pBitArray[1] = (usValue&0X02)>>1;
|
|
|
|
|
pBitArray[2] = (usValue&0X04)>>2;
|
|
|
|
|
pBitArray[3] = (usValue&0X08)>>3;
|
|
|
|
|
pBitArray[4] = (usValue&0X10)>>4;
|
|
|
|
|
pBitArray[5] = (usValue&0X20)>>5;
|
|
|
|
|
pBitArray[6] = (usValue&0X40)>>6;
|
|
|
|
|
pBitArray[7] = (usValue&0X80)>>7;
|
|
|
|
|
|
|
|
|
|
pBitArray[8] = (usValue&0X100)>>8;
|
|
|
|
|
pBitArray[9] = (usValue&0X200)>>9;
|
|
|
|
|
pBitArray[10] = (usValue&0X400)>>10;
|
|
|
|
|
pBitArray[11] = (usValue&0X800)>>11;
|
|
|
|
|
pBitArray[12] = (usValue&0X1000)>>12;
|
|
|
|
|
pBitArray[13] = (usValue&0X2000)>>13;
|
|
|
|
|
pBitArray[14] = (usValue&0X4000)>>14;
|
|
|
|
|
pBitArray[15] = (usValue&0X8000)>>15;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//<2F><><EFBFBD>ܣ<EFBFBD>GPS UTCʱ<43><CAB1>ת<EFBFBD><D7AA><EFBFBD>ɱ<EFBFBD><C9B1><EFBFBD>ʱ<EFBFBD><CAB1>
|
|
|
|
|
//<2F><><EFBFBD>룺GPS UTCʱ<43><CAB1>utcTime
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
|
|
|
|
|
CString GPSUTCTime2BeijingTime(const double utcTime)
|
|
|
|
|
{
|
|
|
|
|
long nTimeGps = static_cast<long>(utcTime);
|
|
|
|
|
|
|
|
|
|
CString strBeijingTime = _T("");
|
|
|
|
|
strBeijingTime.Format(_T("%02d:%02d:%02d"), (nTimeGps/3600+8>=24?nTimeGps/3600+8-24:nTimeGps/3600+8), nTimeGps%3600/60, nTimeGps%3600%60);
|
|
|
|
|
|
|
|
|
|
return strBeijingTime;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//<2F><><EFBFBD>ú<EFBFBD><C3BA><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>뺽<EFBFBD>ߺţ<DFBA>1<EFBFBD><31>2<EFBFBD><32>3<EFBFBD><33>4<EFBFBD><34>5<EFBFBD><35>
|
|
|
|
|
CString GetFlyLineName( const int lineID )
|
|
|
|
|
{
|
|
|
|
|
CString str;
|
|
|
|
|
str.Format( "%d", lineID );
|
|
|
|
|
return (GetSoftwareCurrentDirectory() + _T( "\\route" ) + str + _T( ".txt" ));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ر<EFBFBD><D8B1><EFBFBD>
|
|
|
|
|
/************************************************************************/
|
|
|
|
|
|
|
|
|
|
structPoint g_structPointVisible[360];
|
|
|
|
|
structPoint g_structPointNotVisible[722];
|
|
|
|
|
|
|
|
|
|
structPoint g_structPointVisiReal[180];
|
|
|
|
|
structPoint g_structPointNotVisiReal[180];
|
|
|
|
|
|
|
|
|
|
structPoint g_structPointCrashReal[360];
|
|
|
|
|
|
|
|
|
|
long m_longGroundID = 0; //<2F><><EFBFBD><EFBFBD>վ<EFBFBD><D5BE><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC>
|
|
|
|
|
|
|
|
|
|
long m_visbleCircleLayerID = -1; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC>
|
|
|
|
|
long m_notVisibleCircleLayerID = -1; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC>
|
|
|
|
|
|
|
|
|
|
long m_visiRealCircleLayerID = -1; //ʵʱ<CAB5><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC>
|
|
|
|
|
long m_notVisiRealCircleLayerID = -1; //ʵʱ<CAB5><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC>
|
|
|
|
|
long m_RealCircleLayerID = -1; //ʵʱԲͼ<D4B2><CDBC>
|
|
|
|
|
|
|
|
|
|
long m_longContourLineID[20] = {-1}; //ͨ<>ӵȸ<D3B5><C8B8><EFBFBD>ͼ<EFBFBD><CDBC> ÿ500<30><30>һ<EFBFBD><D2BB> 500 1000 1500 2000 2500 .... 10000
|
|
|
|
|
long m_longContourTextID[20] = {0}; //ͨ<>ӵȸ<D3B5><C8B8>߱<EFBFBD>ǩͼ<C7A9><CDBC>
|
|
|
|
|
|
|
|
|
|
bool g_bSelectDropPoint = false; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ի<EFBFBD><D4BB><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD>ѡ<EFBFBD><D1A1>
|
|
|
|
|
long m_longSelectLineID = -1; //<2F><><EFBFBD><EFBFBD>վ<EFBFBD><D5BE>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC>
|
|
|
|
|
long m_longLabelPlotID = 0; //<2F><><EFBFBD><EFBFBD>վ<EFBFBD><D5BE>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߱<EFBFBD>עͼ<D7A2><CDBC>
|
|
|
|
|
|
|
|
|
|
long m_longLinePointID = 0; //<2F><><EFBFBD><EFBFBD><EFBFBD>ϵĵ<CFB5><C4B5><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC>
|
|
|
|
|
|
|
|
|
|
long m_crashAreaLayerID = -1; //ʵʱ<CAB5><CAB1>ײ<EFBFBD><D7B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC>
|
|
|
|
|
|
|
|
|
|
long m_fightRegionLayerID = -1; //<2F><><EFBFBD>÷<EFBFBD>Χͼ<CEA7><CDBC>
|
|
|
|
|
|
|
|
|
|
long m_DemRegionLayerID[500] = {-1}; //<2F>߳<EFBFBD><DFB3><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC>
|
|
|
|
|
|
|
|
|
|
/************************************************************************/
|
|
|
|
|
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>̷߳<DFB3><CCB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ر<EFBFBD><D8B1><EFBFBD>
|
|
|
|
|
/************************************************************************/
|
|
|
|
|
bool g_bDemAnalysising = false; //<2F>Ƿ<EFBFBD><C7B7>ڸ̷߳<DFB3><CCB7><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
int g_iDemPointNum = 0; //<2F><><EFBFBD><EFBFBD><EFBFBD>̷߳<DFB3><CCB7><EFBFBD><EFBFBD>ĵ<EFBFBD><C4B5><EFBFBD>
|
|
|
|
|
|
|
|
|
|
//<2F><><EFBFBD>Ʋ<EFBFBD><C6B2><EFBFBD><EFBFBD>̷߳<DFB3><CCB7><EFBFBD><EFBFBD>ĵ<EFBFBD><C4B5><EFBFBD>
|
|
|
|
|
double g_dDemPtLon[g_iDemAltPtNum];
|
|
|
|
|
double g_dDemPtLat[g_iDemAltPtNum];
|
|
|
|
|
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߶<EFBFBD>ͼ<EFBFBD><CDBC>
|
|
|
|
|
long g_lDemAltLayerID[g_iDemAltPtNum];
|
|
|
|
|
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߶α<DFB6>ע<EFBFBD><D7A2><EFBFBD>뷽λͼ<CEBB><CDBC>
|
|
|
|
|
long g_lDemAltDisLayerID[g_iDemAltPtNum];
|
|
|
|
|
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>ŵı<C5B5>עͼ<D7A2><CDBC>
|
|
|
|
|
long g_lDemPtNumLayerID[g_iDemAltPtNum];
|
|
|
|
|
|
|
|
|
|
/************************************************************************/
|
|
|
|
|
|
|
|
|
|
/*-------------------------------------------------------------------------------------------------------------
|
|
|
|
|
˵<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ر<EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
-------------------------------------------------------------------------------------------------------------*/
|
|
|
|
|
//<2F>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD>ƶ<EFBFBD><C6B6><EFBFBD><EFBFBD><EFBFBD>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD>ǵ<EFBFBD>
|
|
|
|
|
bool g_bSelectMarker = false;
|
|
|
|
|
|
|
|
|
|
//<2F><><EFBFBD>ǵ<EFBFBD>ͼ<EFBFBD><CDBC>
|
|
|
|
|
long g_lMarkerLayerID[g_iMarkerPtNum];
|
|
|
|
|
|
|
|
|
|
//<2F>Ѿ<EFBFBD><D1BE><EFBFBD><EFBFBD>ǵĵ<C7B5><C4B5><EFBFBD>
|
|
|
|
|
int g_iHaveMarkedPts = 0;
|
|
|
|
|
|
|
|
|
|
CString g_iMarkerName[g_iMarkerPtNum];
|
|
|
|
|
double g_iMarkerLon[g_iMarkerPtNum];
|
|
|
|
|
double g_iMarkerLat[g_iMarkerPtNum];
|
|
|
|
|
bool g_bMarkerPlot[g_iMarkerPtNum] = {false};
|
|
|
|
|
|
|
|
|
|
/*-------------------------------------------------------------------------------------------------------------
|
|
|
|
|
˵<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͬ<EFBFBD>ɻ<EFBFBD><EFBFBD>ͺű<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ø<EFBFBD><EFBFBD>Թ<EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
-------------------------------------------------------------------------------------------------------------*/
|
|
|
|
|
bool g_b981ADesktop = true;
|
|
|
|
|
bool g_b981APad = false;
|
|
|
|
|
bool g_b981CDesktop = false;
|
|
|
|
|
bool g_b981AMulti = true;
|