亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? environment.h

?? 北京市交通mo+visual c++開發實例
?? H
字號:
#pragma once

#include "momaplayer.h"
#include "morecordset.h"
#include "MoRectangle.h"
#include "MoDataConnection.h"
#include "MoSymbol.h"
#include "Map.h"
#include "NrstPath.h"

//-----------------------------------------------------------------------------------------
/*LayerInfo用于包含地圖中某個圖層的信息*/
struct LayerInfo
{
	CString szName;        // 名稱
	CString szLayerName;   // 圖層名稱
	CString szFileName;    // 圖層對應的文件名稱
	CString szTableName;   // 對應的屬性表文件名稱
	CString szFieldName;   // 字段名稱
	CString szType;        // 大類類型
	CString szSubType;	   // 中類類型
	CString szSubType2;    // 小類類型
	CString szSubType3;    // 次小類類型
	bool bCanControl;      // 可控制狀態
	bool bVisible;         // 可顯示狀態,只能通過圖層控制來改變
	bool bSelected;        // 是否已經被選擇										
	bool bCanSelected;     // 可選擇狀態
	bool bBackground;      // 是否作為背景
	bool bLable;           // 是否為地物加入注記
	double dScale;         // 圖層的比例尺
	double dShowScale;     // 圖層的顯示比例尺
	int	nCharacterIndex;   // 圖層注記的字體索引
	CString szFontName;    // 圖層注記的字體名稱
	int  nFontSize;        // 圖層注記的字體大小
	int	nSymSize;          // 符號大小
	UINT	nSymColor;     // 符號顏色 
	
	CMoMapLayer	layer;     // 圖層對象
	CMoRecordset rsSel;    // 記錄集合
};
//-----------------------------------------------------------------------------------------
// MPoint結構用于定義地圖中的點
struct MPoint
{
	double x;  // X坐標值
	double y;  // Y坐標值
};
//-----------------------------------------------------------------------------------------
// MLine類用于定義地圖上的一條線對象
class MLine
{
public:
	int nPointNumber; // 線對象包含的點的數目
	MPoint* pPoint;   // 點坐標數組
	
public:
	MLine()  // 構造函數
	{
		nPointNumber = 0;
		pPoint = NULL;
	}
};
//-----------------------------------------------------------------------------------------
// MapOpr枚舉類型用于定義用戶當前在地圖上的操作類型
enum MapOpr 
{
	MO_NULL=0,    // 無操作
	MO_ZOOMIN,    // 放大操作
	MO_ZOOMOUT,   // 縮小操作
	MO_ZOOMFULL,  // 全圖顯示操作
	MO_PAN,       // 漫游操作
	MO_POINTSEL,  // 點選擇操作
	MO_RECTSEL,   // 巨型選擇操作
	MO_CIRCLESEL, // 圓選擇操作
	MO_POLYGONSEL,// 多邊形選擇操作
	MO_INFO,      // 獲取信息操作
	MO_LINEMEAS,  // 長度量算操作
	MO_POLYMEAS,  // 面積量算操作
	MO_SEACHBYDIST, // 根據距離搜索地物操作
	MO_CLOSEST      // 最短距離查詢操作
};
//-----------------------------------------------------------------------------------------
// MapDisp枚舉類型用于定義在地圖中顯示的地物類型
enum MapDisp 
{
	MO_ALL = 0,     // 所有地物
	MO_SCHOOL = 1,  // 學校
	MO_TOUR,        // 旅游點
	MO_HOSPITAL,    // 醫院
	MO_SHOP,        // 購物
	MO_HOTEL,       // 賓館
	MO_GAS,         // 加油站
	MO_BANK,        // 銀行
	MO_MOVIE,       // 電影音樂廳
	MO_RESTAURANT,  // 餐館
	MO_WC,          // 公共廁所
	MO_POST,        // 郵局
	MO_LIBRAY,      // 圖書館
	MO_STATION      // 公交
};
//-----------------------------------------------------------------------------------------
// MapInfo結構用于包含某一地圖的信息
struct MapInfo
{
	CString szName;       // 地圖名稱
	CString szMetaTable;  // 元數據表名
	CString szIndexTable; // 索引表名
	CString szType;       // 類型
	
	CMoRectangle rect;    // 地圖包括的范圍
};
//-----------------------------------------------------------------------------------------
// IndexInfo結構包括某一地區的信息
struct IndexInfo
{
	CString szName;         // 名稱
	double dX;              // 中心點的X坐標
	double dY;              // 中心點的Y坐標
	CMoRectangle m_extent;  // 顯示范圍
};
//-----------------------------------------------------------------------------------------
// 公交站點類
class Buses
{
public:
	int		nNum;  // 點的數目
	MPoint* pts;   // 坐標數組

public:
	Buses()
	{
		nNum = 200;
		pts = NULL;
		pts = new MPoint[200]; 		
	}

	~Buses()
	{
		if(pts)
		{
			delete pts;
			pts = NULL;
		}
	}
};
//-----------------------------------------------------------------------------------------
class CloestPath // 用于計算最短路徑的類
{
public:
	MPoint* pt1;  // 起點
	MPoint* pt2;  // 終點
public:
	CloestPath()
	{
		pt1 = NULL;
		pt2 = NULL;
	}
};
//-----------------------------------------------------------------------------------------
class CEnvironment
{
public:	
	CString BUSLINE_LAYERNAME;    // 包含公交路線信息的圖層的名稱
	CString BUSSTATION_LAYERNAME; // 包含公交站點信息的圖層的名稱
	UINT    SYMBOL_COLOR_NONE;    // 默認符號的顏色
	
	CString    m_szDBName;    // 元數據庫名稱
	CString    m_szSDBPath;   // 元數據庫所在的路徑
	CString    m_AppPath;     // 應用程序的路徑
	CString    m_szHelpPath;  // 幫助文件所在的路徑

	CMoDataConnection m_db;   // 與元數據庫連接的對象

	int m_nSelectedLineNum;   // 選擇的線對象的數目
	int      m_nCurrMapIndex; // 當前地圖在地圖集合中的索引
	int      m_nMapNum;       // 地圖集合中包含的地圖的數目
	MapInfo* m_mapInfos;      // 地圖集合中地圖信息數組
	
	int         m_nLayerNum;  // 當前地圖中包含的圖層的數目
	LayerInfo*  m_layerInfos; // 圖層信息數組
	
	int         m_nIndexNum;  // 索引數目
	IndexInfo*  m_indexInfos; // 索引信息數組
	
	CMoSymbol   m_selSymbol;    // 顯示選擇地物的符號
	CString     m_szfntStation; // 顯示公交站點的字體的名稱
	char        m_chStation;    // 顯示公交站點的樣式
	int         m_nfntStation;  // 顯示公交站點的字體的大小
	
	int         m_MapOpr;       // 用戶當前操作類型

	CMoMapLayer m_layerRoad;    // 道路圖層

	LPDISPATCH          m_selectedFeature;
	CMoSymbol           m_selectedSymbol;
	short				m_selectedSymbolSize;

	double				m_dDistance;		//最短距離查詢
	CString				m_szPlaceName;

	bool				m_bPathInit; // 路徑初始化狀態	
	CString				m_szBusFilter; // 公交查詢類型過濾字符串

	double				m_selectedScale;
	MLine*				m_drawLine; 
	Buses*				m_buses;

	CNrstPath           m_path; // 最短路徑對象

	CloestPath*			m_cloestPath;
public:
	CEnvironment(void);
	~CEnvironment(void);
public:
	double CalcScale(CMap1* map);
	double CalcScale(CMap1* map, CMoRectangle extent);
	double CalcLenght(MPoint* pt,int nSize);
	void CalGuassFromLB(double dLongitude, double dLatitude, double* dX, double* dY, long nCenterL);
	void SubGussFs(double X,double Y,double L0, double* B, double* L);
	void SubGussFs(double* X, double* Y,double B,double L,int nCenterLongi);
	bool GetLayerVisible(int disp);
	void SetLayerVisible(int disp, bool bVisible, double dScale);
	int GetLayerIndexByName(CString szName);

	int GetMapIndex(CString szMapName);

	void ExecuteSpatialByPoint(CMap1* map, CMoPoint shape);
	void ExecuteSpatialByRect(CMoRectangle shape, int sMode);
	void ExecuteSpatialByPolygon(CMoPolygon shape, int sMode);

	void DrawRecordset(CMap1* map);
	void ClearSelRsts();
	void DrawSelectedShape(CMap1* map);

	CString GetTableName(CString szName, CString szTbleName);
	CString GetLayerName(CString szName, CString szTblName);
	long SearchByDistance(double dX, double dY,double dDistance, CListBox* listBox);

	BOOL GetStation(CString szLineName, Buses* pBuses, int* nCount);
	BOOL GetStation(PathNode* node, int nIndex, Buses* buses, int* nCount);
	int GetStationOrder(CString szLineName, CString szStationName);
	BOOL GetStationPt(CString szStationName, MPoint* pt);

	MPoint FromMapPoint(CMap1* map, double x,double y);

	CMoLine GetLine(CString szName);
	CMoPoint GetPoint(CString szName);
	MLine* CreateLine(CMoLine moline);

	BOOL IsBusLine(CString szName);
	CMoMapLayer GetLayerByName(CString szName);
	BOOL IsStation(CString szName);

	CString GetFieldName(CString szName);
	double GetLineLength(CMoLine line);
	double GetPolygonLength(CMoPolygon poly);
	double GetPolygonArea(CMoPolygon poly);
	double CalcArea(MPoint* pt,int nSize);
};

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲日本电影在线| 日本一不卡视频| 日本一区二区电影| 国产亚洲欧美在线| 国产精品久久久久久久裸模| 亚洲女与黑人做爰| 五月激情丁香一区二区三区| 激情成人午夜视频| 99天天综合性| 精品日产卡一卡二卡麻豆| 亚洲视频一二区| 久久激情五月婷婷| 色婷婷精品久久二区二区蜜臀av| 欧美精品1区2区| 2021中文字幕一区亚洲| 综合欧美亚洲日本| 一区二区三区日韩精品| 亚洲高清免费一级二级三级| 国产精品一区二区不卡| 欧美一区二区三区在线看| 亚洲青青青在线视频| 国产精品一区二区在线播放| 欧美理论电影在线| 中文字幕色av一区二区三区| 免费人成网站在线观看欧美高清| av福利精品导航| 日韩一级片网站| 一区二区三区精品久久久| 蜜桃av一区二区| 欧美三级韩国三级日本一级| 国产精品美女久久久久久久久| 欧美aⅴ一区二区三区视频| 色94色欧美sute亚洲线路二| 欧美经典三级视频一区二区三区| 日韩不卡一区二区| 色综合一个色综合亚洲| 亚洲色图在线看| 美女视频黄免费的久久 | 美女国产一区二区三区| 欧美丰满少妇xxxxx高潮对白| 亚洲视频香蕉人妖| 成人精品国产一区二区4080| 久久久久久亚洲综合| 久久精品国产成人一区二区三区 | 亚洲欧美在线aaa| 国产成人综合网站| 国产欧美日韩中文久久| 国产精品夜夜爽| 久久久99精品免费观看不卡| 国产一区二区福利| 久久久777精品电影网影网| 国产剧情一区二区三区| 欧美国产日韩精品免费观看| 成人禁用看黄a在线| 亚洲日本中文字幕区| 欧美中文字幕一区| 午夜激情综合网| 91精品国产综合久久久久久漫画 | 久久精品免费看| 精品国产乱码久久久久久老虎 | 9191成人精品久久| 蜜桃视频第一区免费观看| 久久人人97超碰com| 成人av在线影院| 亚洲国产综合91精品麻豆| 91精品欧美福利在线观看| 激情综合色播五月| 中文字幕一区二区三区在线播放| 色一情一伦一子一伦一区| 图片区小说区区亚洲影院| 日韩丝袜情趣美女图片| 成人综合在线观看| 亚洲午夜日本在线观看| 欧美一区二区三区精品| 国产成人啪免费观看软件| 亚洲男人天堂一区| 日韩色视频在线观看| 成人性色生活片| 午夜av电影一区| 久久久久久久久久久久电影| 色综合久久天天| 国产一区二区三区四区五区美女| 国产精品第四页| 欧美日韩国产天堂| 国产99久久久国产精品免费看| 亚洲精品伦理在线| 26uuu欧美| 91麻豆精东视频| 韩日av一区二区| 亚洲一区二区三区国产| 久久精品欧美一区二区三区不卡| 精品视频免费看| 国产精品一二三区在线| 日韩激情一二三区| 亚洲蜜臀av乱码久久精品| 久久久久久夜精品精品免费| 欧美日韩www| 成人福利视频网站| 久久国产精品色婷婷| 亚洲午夜久久久久| 亚洲国产电影在线观看| 日韩一区二区高清| 欧美色图12p| 91在线云播放| 岛国一区二区在线观看| 美女爽到高潮91| 亚洲成国产人片在线观看| 国产精品成人一区二区艾草 | 国产精品污污网站在线观看| 欧美一区二区国产| 欧美色爱综合网| 日本道色综合久久| 成人黄色电影在线| 国产一区91精品张津瑜| 蜜臀精品久久久久久蜜臀| 亚洲成人777| 亚洲大片免费看| 亚洲老妇xxxxxx| 亚洲视频网在线直播| 国产精品蜜臀av| 国产精品久久久久久久浪潮网站 | 精品国产免费久久| 欧美一区二区三区在| 91精品国产综合久久久久| 欧美日韩国产小视频在线观看| 91久久久免费一区二区| 91同城在线观看| 色综合一区二区三区| 色婷婷亚洲婷婷| 在线欧美日韩国产| 欧美制服丝袜第一页| 色先锋aa成人| 欧美三级资源在线| 欧美日韩在线一区二区| 欧美乱熟臀69xxxxxx| 欧美一区二区三区免费大片| 日韩午夜中文字幕| 久久青草欧美一区二区三区| 欧美极品少妇xxxxⅹ高跟鞋| 亚洲欧美一区二区在线观看| 亚洲免费在线电影| 樱桃国产成人精品视频| 午夜激情综合网| 久久99久久久久久久久久久| 国产一区二区三区四区五区入口 | 日韩伦理免费电影| 综合色天天鬼久久鬼色| 一区二区国产盗摄色噜噜| 一区二区成人在线观看| 婷婷开心激情综合| 激情文学综合网| 99re8在线精品视频免费播放| 欧美亚洲综合一区| 欧美成人性战久久| 国产精品国产三级国产普通话蜜臀| 亚洲日本青草视频在线怡红院| 亚洲一区二三区| 九九热在线视频观看这里只有精品| 国产成+人+日韩+欧美+亚洲| 色婷婷综合五月| 精品美女在线播放| 亚洲人成伊人成综合网小说| 天天综合天天做天天综合| 国产主播一区二区三区| 色一情一乱一乱一91av| 日韩欧美中文字幕一区| 亚洲三级免费电影| 欧美bbbbb| 91欧美一区二区| 日韩精品一区二区三区视频在线观看 | 亚洲欧美综合色| 亚洲 欧美综合在线网络| 激情丁香综合五月| 欧洲亚洲精品在线| 国产日韩欧美高清在线| 亚洲成人动漫一区| 粉嫩aⅴ一区二区三区四区五区| 欧美日韩国产区一| 国产精品的网站| 久久精品噜噜噜成人av农村| 在线亚洲欧美专区二区| 久久综合一区二区| 亚洲第一在线综合网站| 丁香婷婷综合色啪| 精品国一区二区三区| 亚洲一区二区在线免费观看视频 | 成人av电影观看| 精品久久久久一区| 亚洲国产精品嫩草影院| 成人污视频在线观看| 欧美r级电影在线观看| 亚洲小说欧美激情另类| av中文字幕不卡| 国产亚洲一区二区三区四区| 日本va欧美va欧美va精品| 欧美日韩一区 二区 三区 久久精品| 国产精品传媒入口麻豆| 成人午夜激情在线| 26uuuu精品一区二区| 美国毛片一区二区三区|