1. 程式人生 > >PIE SDK螢幕座標和地圖座標轉換

PIE SDK螢幕座標和地圖座標轉換

 

1. 功能簡介

    螢幕座標和地圖座標轉換,就是字面意思,將電腦螢幕的座標轉換為帶有空間資訊的地圖座標,主要運用PIE SDK地圖控制元件的ToMapPoint()方法,而地圖座標轉換為裝置座標(螢幕),用的是FromMapPoint()方法。

2.功能實現說明

2.1. 實現思路及原理說明

第一步

例項化point物件

第二步

呼叫ToMapPoint()或FromMapPoint()方法對裝置點座標和地圖座標經進行轉化

2.2. 核心介面與方法

介面/類

方法

說明

 

PIE.AxControls.MapControl

ToMapPoint

將螢幕座標轉換為地圖座標

FromMapPoint

從地圖座標轉換為裝置座標

PIE.Carto. IPageLayout

ToPagePoint

將螢幕座標轉換為製圖座標

FromPagePoint

將頁面點轉換為裝置點

2.3. 示例程式碼

專案路徑

百度雲盤地址下/PIE示例程式/02.地圖操作/06.地圖滑鼠事件監聽/MapMouseEventsDemo

資料路徑

百度雲盤地址下/PIE示例資料/柵格資料/自定義資料即可

視訊路徑

百度雲盤地址下/PIE視訊教程/02.地圖操作/05.螢幕和地圖座標轉換/xx..avi

示例程式碼

 1         /// <summary>
 2         /// 滑鼠按下事件
 3         /// </summary>
 4         /// <param name="sender"></param>
 5         /// <param name="e"></param>
 6         private void mapControlMain_MouseDown(object sender, MouseEventArgs e)
 7         {
 8            //地圖座標轉換為地圖座標
 9             PIE.Geometry.IPoint point = new PIE.Geometry.Point();
10             //將螢幕座標轉換為地圖座標
11             point = mapControlMain.ToMapPoint(e.X, e.Y);          
12             //彈出座標資訊顯示框
13             string srcgreenCoor = string.Format("螢幕座標:X:{0},Y:{1}", e.X, e.Y);
14             string mapCoor = string.Format("地圖座標:X:{0},Y:{1}", point.X.ToString(), point.Y.ToString());      
15             MessageBox.Show(srcgreenCoor + "\r\n" + mapCoor, "螢幕座標轉換地圖座標");
16 //地圖座標轉換為螢幕座標
17             int x=0, y=0;
18             mapControlMain.FromMapPoint(point,ref x,ref y);
19             string tempPoint = string.Format("螢幕裝置點:X:{0},Y:{1}",x,y);
20             MessageBox.Show(mapCoor+"\r\n"+tempPoint, "地圖座標轉換為裝置點");
21         }
View Code

2.4. 示例截圖

 

螢幕座標轉換地圖座標

 

地圖座標轉換為螢幕座標