PIE SDK螢幕座標和地圖座標轉換
阿新 • • 發佈:2019-01-09
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. 示例截圖
螢幕座標轉換地圖座標
地圖座標轉換為螢幕座標