人人做人人澡人人爽欧美,国产主播一区二区,久久久精品五月天,羞羞视频在线观看免费

當前位置:蘿卜系統下載站 > 技術開發教程 > 詳細頁面

MapX 控件在C# 中的應用

MapX 控件在C# 中的應用

更新時間:2022-07-15 文章作者:未知 信息來源:網絡 閱讀次數:




MapX 控件在C# 中的應用 (一)

關鍵字:MapX,C#,Net,ActiveX控件



/*

* 在這段代碼中,我們應用MapX控件結合老美地圖做了最基本的

* 地圖瀏覽功能:放大、縮小、拖動、全圖、測量距離、測量面積。

*

* 楊雨田 YangYutian@Hotmail.Com

*/

using System;

using System.Drawing;

using System.Collections;

using System.ComponentModel;

using System.Windows.Forms;

using System.Data;



namespace wa

{

public class frmMain : System.Windows.Forms.Form

{

private AxMapXLib.AxMap mapMain;



private double MapZoom;

private double CenterX;

private double CenterY;

private System.Windows.Forms.StatusBar sbMain;

private System.Windows.Forms.MainMenu mainMenu;

private System.Windows.Forms.MenuItem miMap;

private System.Windows.Forms.MenuItem miMapToolZoomIn;

private System.Windows.Forms.MenuItem miMapToolZoomout;

private System.Windows.Forms.MenuItem miMapToolPan;

private System.Windows.Forms.MenuItem miMapToolRestore;

private System.Windows.Forms.MenuItem miMapToolDistance;

private System.Windows.Forms.MenuItem miMapToolArea;

private System.Windows.Forms.MenuItem miMapTool;



private System.ComponentModel.Container components = null;



public frmMain()

{

InitializeComponent();

}



protected override void Dispose( bool disposing )

{

//略

}



#region Windows 窗體設計器生成的代碼

private void InitializeComponent()

{

//略

}

#endregion



[STAThread]

static void Main()

{

Application.Run(new Form1());

}



private void mapMain_PolyToolUsed(object sender, AxMapXLib.CMapXEvents_PolyToolUsedEvent e)

{

if(e.toolNum == 99)//測量距離

{

MapXLib.Points pts = (MapXLib.Points)e.points;

MapXLib.Point pt1,pt2;

double d=0.0;

//計算順序兩個點距離,累計得到總距離

for(int i=1;i<pts.Count;i++)

{

pt1=pts.Item(i);

pt2=pts.Item(i+1);

d += mapMain.Distance(pt1.X,pt1.Y,pt2.X,pt2.Y);

}

sbMain.Text = "距離:" + d.ToString();

}

else if(e.toolNum == 98)//面積

{

MapXLib.Points pts = (MapXLib.Points)e.points;

//偷懶了但是很正確

MapXLib.FeatureFactory dd = mapMain.FeatureFactory;

MapXLib.Style style = mapMain.DefaultStyle;

sbMain.Text = "面積:" + dd.CreateRegion(pts,style).Area.ToString();

}

}



private void miMapToolZoomIn_Click(object sender, System.EventArgs e)

{

//放大

mapMain.CurrentTool = MapXLib.ToolConstants.miZoomInTool;

}



private void miMapToolZoomout_Click(object sender, System.EventArgs e)

{

//縮小

mapMain.CurrentTool = MapXLib.ToolConstants.miZoomOutTool;

}



private void miMapToolPan_Click(object sender, System.EventArgs e)

{

//拖動

mapMain.CurrentTool = MapXLib.ToolConstants.miPanTool;

}



private void miMapToolRestore_Click(object sender, System.EventArgs e)

{

//縮放到初始大小(全圖)

mapMain.ZoomTo(this.MapZoom,this.CenterX,this.CenterY);

}



private void miMapToolDistance_Click(object sender, System.EventArgs e)

{

//測量距離

mapMain.CurrentTool = (MapXLib.ToolConstants)99;

}



private void miMapToolArea_Click(object sender, System.EventArgs e)

{

//測量面積

mapMain.CurrentTool = (MapXLib.ToolConstants) 98;

}



private void frmMain_Load(object sender, System.EventArgs e)

{

//記錄地圖的比例合中心點

this.MapZoom = mapMain.Zoom;

this.CenterX = mapMain.CenterX;

this.CenterY = mapMain.CenterY;

//創建測量距離的工具

mapMain.CreateCustomTool(99,(short)MapXLib.ToolTypeConstants.miToolTypePoly,MapXLib.CursorConstants.miCrossCursor,MapXLib.CursorConstants.miCrossCursor,MapXLib.CursorConstants.miCrossCursor,false);

//創建測量面積的工具

mapMain.CreateCustomTool(98,(short)MapXLib.ToolTypeConstants.miToolTypePolygon,MapXLib.CursorConstants.miCrossCursor,MapXLib.CursorConstants.miCrossCursor,MapXLib.CursorConstants.miCrossCursor,false);

}

}

}


溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統下載排行

網站地圖xml | 網站地圖html
主站蜘蛛池模板: 高尔夫| 康平县| 高雄县| 富蕴县| 岫岩| 扎兰屯市| 府谷县| 垣曲县| 虎林市| 福安市| 石楼县| 容城县| 措勤县| 荆州市| 焦作市| 潢川县| 静安区| 康马县| 兰考县| 黔西| 犍为县| 五常市| 横山县| 容城县| 浮梁县| 达孜县| 正蓝旗| 赞皇县| 莱阳市| 象州县| 大英县| 嘉峪关市| 黄冈市| 柳江县| 昭觉县| 海口市| 同江市| 靖远县| 宽甸| 高唐县| 高密市|