阅读:1673回复:4
MapObjects2.2 在C#中的应用(基本地图功能)
<P align=left><B>关键字:MapObjects 2.2 C#<p></p></B></P>
<P align=left> <p></p></P> <P align=left>仅仅实现了地图的放大、缩小、漫游、全图、距离、面积等功能。<p></p></P> <P align=left> <p></p></P> <P align=left>/*<p></p></P> <P align=left> * 杨雨田 blue_bat@126.com<p></p></P> <P align=left> * 2004年7月27日<p></p></P> <P align=left> */<p></p></P> <P align=left>using System;<p></p></P> <P align=left>using System.Drawing;<p></p></P> <P align=left>using System.Collections;<p></p></P> <P align=left>using System.ComponentModel;<p></p></P> <P align=left>using System.Windows.Forms;<p></p></P> <P align=left>using System.Data;<p></p></P> <P align=left> <p></p></P> <P align=left>namespace Artemis.IVS.Test<p></p></P> <P align=left>{<p></p></P> <P align=left> /// <summary><p></p></P> <P align=left> /// 处理实例<p></p></P> <P align=left> /// </summary><p></p></P> <P align=left> public class FrmMain : System.Windows.Forms.Form<p></p></P> <P align=left> {<p></p></P> <P align=left> private AxMapObjects2.AxMap mapMain;<p></p></P> <P align=left> private System.Windows.Forms.MainMenu mainMenu1;<p></p></P> <P align=left> private System.Windows.Forms.MenuItem miZoomIn;<p></p></P> <P align=left> private System.Windows.Forms.MenuItem miZoomOut;<p></p></P> <P align=left> private System.Windows.Forms.MenuItem miPan;<p></p></P> <P align=left> private System.Windows.Forms.MenuItem miFullView;<p></p></P> <P align=left> private int CurOperate = 0;<p></p></P> <P align=left> private System.Windows.Forms.MenuItem miSelectByPoint;<p></p></P> <P align=left> private System.Windows.Forms.MenuItem miDistance;<p></p></P> <P align=left> private System.Windows.Forms.MenuItem miArea;<p></p></P> <P align=left> /// <summary><p></p></P> <P align=left> /// 必需的设计器变量。<p></p></P> <P align=left> /// </summary><p></p></P> <P align=left> private System.ComponentModel.Container components = null;<p></p></P> <P align=left> <p></p></P> <P align=left> public FrmMain()<p></p></P> <P align=left> {<p></p></P> <P align=left> //<p></p></P> <P align=left> // Windows 窗体设计器支持所必需的<p></p></P> <P align=left> //<p></p></P> <P align=left> InitializeComponent();<p></p></P> <P align=left> }<p></p></P> <P align=left> <p></p></P> <P align=left> /// <summary><p></p></P> <P align=left> /// 清理所有正在使用的资源。<p></p></P> <P align=left> /// </summary><p></p></P> <P align=left> protected override void Dispose( bool disposing )<p></p></P> <P align=left> {<p></p></P> <P align=left> if( disposing )<p></p></P> <P align=left> {<p></p></P> <P align=left> if (components != null) <p></p></P> <P align=left> {<p></p></P> <P align=left> components.Dispose();<p></p></P> <P align=left> }<p></p></P> <P align=left> }<p></p></P> <P align=left> base.Dispose( disposing );<p></p></P> <P align=left> }<p></p></P> <P align=left> <p></p></P> <P align=left> #region Windows 窗体设计器生成的代码<p></p></P> <P align=left> /// <summary><p></p></P> <P align=left> /// 设计器支持所需的方法 - 不要使用代码编辑器修改<p></p></P> <P align=left> /// 此方法的内容。<p></p></P> <P align=left> /// </summary><p></p></P> <P align=left> private void InitializeComponent()<p></p></P> <P align=left> {<p></p></P> <P align=left> System.Resources.ResourceManager resources = new System.Resources.ResourceManager(typeof(FrmMain));<p></p></P> <P align=left> this.mapMain = new AxMapObjects2.AxMap();<p></p></P> <P align=left> this.mainMenu1 = new System.Windows.Forms.MainMenu();<p></p></P> <P align=left> this.miZoomIn = new System.Windows.Forms.MenuItem();<p></p></P> <P align=left> this.miZoomOut = new System.Windows.Forms.MenuItem();<p></p></P> <P align=left> this.miPan = new System.Windows.Forms.MenuItem();<p></p></P> <P align=left> this.miFullView = new System.Windows.Forms.MenuItem();<p></p></P> <P align=left> this.miSelectByPoint = new System.Windows.Forms.MenuItem();<p></p></P> <P align=left> this.miDistance = new System.Windows.Forms.MenuItem();<p></p></P> <P align=left> this.miArea = new System.Windows.Forms.MenuItem();<p></p></P> <P align=left> ((System.ComponentModel.ISupportInitialize)(this.mapMain)).BeginInit();<p></p></P> <P align=left> this.SuspendLayout();<p></p></P> <P align=left> // <p></p></P> <P align=left> // mapMain<p></p></P> <P align=left> // <p></p></P> <P align=left> this.mapMain.Dock = System.Windows.Forms.DockStyle.Fill;<p></p></P> <P align=left> this.mapMain.Location = new System.Drawing.Point(0, 0);<p></p></P> <P align=left> this.mapMain.Name = "mapMain";<p></p></P> <P align=left> this.mapMain.OcxState = ((System.Windows.Forms.AxHost.State)(resources.GetObject("mapMain.OcxState")));<p></p></P> <P align=left> this.mapMain.Size = new System.Drawing.Size(592, 401);<p></p></P> <P align=left> this.mapMain.TabIndex = 0;<p></p></P> <P align=left> this.mapMain.MouseDownEvent += new AxMapObjects2._DMapEvents_MouseDownEventHandler(this.mapMain_MouseDownEvent);<p></p></P> <P align=left> // <p></p></P> <P align=left> // mainMenu1<p></p></P> <P align=left> // <p></p></P> <P align=left> this.mainMenu1.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {<p></p></P> <P align=left> this.miZoomIn,<p></p></P> <P align=left> this.miZoomOut,<p></p></P> <P align=left> this.miPan,<p></p></P> <P align=left> this.miFullView,<p></p></P> <P align=left> this.miSelectByPoint,<p></p></P> <P align=left> this.miDistance,<p></p></P> <P align=left> this.miArea});<p></p></P> <P align=left> // <p></p></P> <P align=left> // miZoomIn<p></p></P> <P align=left> // <p></p></P> <P align=left> this.miZoomIn.Index = 0;<p></p></P> <P align=left> this.miZoomIn.Text = "放大";<p></p></P> <P align=left> this.miZoomIn.Click += new System.EventHandler(this.miZoomIn_Click);<p></p></P> <P align=left> // <p></p></P> <P align=left> // miZoomOut<p></p></P> <P align=left> // <p></p></P> <P align=left> this.miZoomOut.Index = 1;<p></p></P> <P align=left> this.miZoomOut.Text = "缩小";<p></p></P> <P align=left> this.miZoomOut.Click += new System.EventHandler(this.miZoomOut_Click);<p></p></P> <P align=left> // <p></p></P> <P align=left> // miPan<p></p></P> <P align=left> // <p></p></P> <P align=left> this.miPan.Index = 2;<p></p></P> <P align=left> this.miPan.Text = "漫游";<p></p></P> <P align=left> this.miPan.Click += new System.EventHandler(this.miPan_Click);<p></p></P> <P align=left> // <p></p></P> <P align=left> // miFullView<p></p></P> <P align=left> // <p></p></P> <P align=left> this.miFullView.Index = 3;<p></p></P> <P align=left> this.miFullView.Text = "全图";<p></p></P> <P align=left> this.miFullView.Click += new System.EventHandler(this.miFullView_Click);<p></p></P> <P align=left> // <p></p></P> <P align=left> // miSelectByPoint<p></p></P> <P align=left> // <p></p></P> <P align=left> this.miSelectByPoint.Index = 4;<p></p></P> <P align=left> this.miSelectByPoint.Text = "点选";<p></p></P> <P align=left> this.miSelectByPoint.Click += new System.EventHandler(this.miSelectByPoint_Click);<p></p></P> <P align=left> // <p></p></P> <P align=left> // miDistance<p></p></P> <P align=left> // <p></p></P> <P align=left> this.miDistance.Index = 5;<p></p></P> <P align=left> this.miDistance.Text = "距离";<p></p></P> <P align=left> this.miDistance.Click += new System.EventHandler(this.miDistance_Click);<p></p></P> <P align=left> // <p></p></P> <P align=left> // miArea<p></p></P> <P align=left> // <p></p></P> <P align=left> this.miArea.Index = 6;<p></p></P> <P align=left> this.miArea.Text = "面积";<p></p></P> <P align=left> this.miArea.Click += new System.EventHandler(this.miArea_Click);<p></p></P> <P align=left> // <p></p></P> <P align=left> // FrmMain<p></p></P> <P align=left> // <p></p></P> <P align=left> this.AutoScaleBaseSize = new System.Drawing.Size(6, 14);<p></p></P> <P align=left> this.ClientSize = new System.Drawing.Size(592, 401);<p></p></P> <P align=left> this.Controls.Add(this.mapMain);<p></p></P> <P align=left> this.Menu = this.mainMenu1;<p></p></P> <P align=left> this.Name = "FrmMain";<p></p></P> <P align=left> this.Text = "Artemis.IVS.Test";<p></p></P> <P align=left> this.Load += new System.EventHandler(this.FrmMain_Load);<p></p></P> <P align=left> ((System.ComponentModel.ISupportInitialize)(this.mapMain)).EndInit();<p></p></P> <P align=left> this.ResumeLayout(false);<p></p></P> <P align=left> <p></p></P> <P align=left> }<p></p></P> <P align=left> #endregion<p></p></P> <P align=left> <p></p></P> |
|
|
1楼#
发布于:2004-09-30 12:57
<FONT size=2><FONT face=新宋体> /// <summary><p></p></FONT></FONT><P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left> /// 应用程序的主入口点。<p></p></P><P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left> /// </summary><p></p></P><P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left> [STAThread]<p></p></P><P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left> static void Main() <p></p></P><P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left> {<p></p></P><P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left> Application.Run(new FrmMain());<p></p></P><P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left> }<p></p></P><P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left> <p></p></P><P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left> /// <summary><p></p></P><P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left> /// 全图<p></p></P><P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left> /// </summary><p></p></P><P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left> private void miFullView_Click(object sender, System.EventArgs e)<p></p></P><P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left> {<p></p></P><P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left> this.CurOperate = 4;<p></p></P><P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left> mapMain.Extent = mapMain.FullExtent;<p></p></P><P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left> mapMain.MousePointer = MapObjects2.MousePointerConstants.moDefault;<p></p></P><P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left> }<p></p></P><P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left> <p></p></P><P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left> /// <summary><p></p></P><P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left> /// 漫游<p></p></P><P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left> /// </summary><p></p></P><P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left> private void miPan_Click(object sender, System.EventArgs e)<p></p></P><P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left> {<p></p></P><P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left> this.CurOperate = 3; <p></p></P><P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left> mapMain.MousePointer = MapObjects2.MousePointerConstants.moPan;<p></p></P><P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left> }<p></p></P><P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left> <p></p></P><P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left> /// <summary><p></p></P><P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left> /// 缩小<p></p></P><P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left> /// </summary><p></p></P><P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left> private void miZoomOut_Click(object sender, System.EventArgs e)<p></p></P><P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left> {<p></p></P><P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left> this.CurOperate = 2;<p></p></P><P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left> mapMain.MousePointer = MapObjects2.MousePointerConstants.moZoomOut;<p></p></P><P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left> }<p></p></P><P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left> <p></p></P><P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left> /// <summary><p></p></P><P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left> /// 放大<p></p></P><P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left> /// </summary><p></p></P><P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left> private void miZoomIn_Click(object sender, System.EventArgs e)<p></p></P><P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left> {<p></p></P><P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left> this.CurOperate = 1;<p></p></P><P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left> mapMain.MousePointer = MapObjects2.MousePointerConstants.moZoomIn;<p></p></P><P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left> }<p></p></P><P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left> <p></p></P><P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left> /// <summary><p></p></P><P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left> /// 放大缩小等的处理过程<p></p></P><P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left> /// </summary><p></p></P><P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left> private void mapMain_MouseDownEvent(object sender, AxMapObjects2._DMapEvents_MouseDownEvent e)<p></p></P><P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left> {<p></p></P><P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left> MapObjects2.Rectangle rect;<p></p></P><P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left> MapObjects2.Point pt = mapMain.ToMapPoint(e.x,e.y);<p></p></P><P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left> <p></p></P><P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left> if(e.button == 2) this.CurOperate = 0;//右键点击取消<p></p></P><P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left> <p></p></P><P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left> switch(this.CurOperate)<p></p></P><P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left> {<p></p></P><P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left> case 1://放大<p></p></P><P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left> {<p></p></P><P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left> rect = mapMain.TrackRectangle();<p></p></P><P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left> <p></p></P><P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left> if(rect == null|| (rect.Width < 0.00005) || (rect.Height < 0.00005))<p></p></P><P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left> { <p></p></P><P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left> rect = mapMain.Extent;<p></p></P><P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left> rect.ScaleRectangle(0.6667);<p></p></P><P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left> rect.Offset(-(rect.Center.X - pt.X),-(rect.Center.Y - pt.Y));<p></p></P><P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left> }<p></p></P><P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left> mapMain.Extent = rect;<p></p></P><P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left> break;<p></p></P><P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left> }<p></p></P><P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left> case 2://缩小<p></p></P><P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left> {<p></p></P><P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left> rect = mapMain.TrackRectangle();<p></p></P><P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left> <p></p></P><P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left> if ((null == rect) || (rect.Width < 0.00005) || (rect.Height < 0.00005))<p></p></P><P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left> {<p></p></P><P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left> rect = mapMain.Extent;<p></p></P><P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left> rect.ScaleRectangle(1.5);<p></p></P><P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left> rect.Offset(-(rect.Center.X - pt.X),-(rect.Center.Y - pt.Y));<p></p></P><P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left> }<p></p></P><P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left> else<p></p></P><P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left> { <p></p></P><P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left> double dRate = mapMain.Extent.Width / rect.Width * 10; <p></p></P><P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left> rect.ScaleRectangle(dRate);<p></p></P><P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left> }<p></p></P><P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left> <p></p></P><P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left> mapMain.Extent = rect;<p></p></P><P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left> break;<p></p></P><P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left> }<p></p></P><P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left> case 3://漫游<p></p></P><P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left> {<p></p></P><P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left> mapMain.Pan();<p></p></P><P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left> break;<p></p></P><P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left> }<p></p></P><P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left> case 5://点选<p></p></P><P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left> {<p></p></P><P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left> <p></p></P><P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left> break;<p></p></P><P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left> }<p></p></P><P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left> case 6://距离<p></p></P><P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left> {<p></p></P><P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left> MapObjects2.Points pts;<p></p></P><P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left> pts = (MapObjects2.Points)mapMain.TrackLine().Parts.Item(0);<p></p></P><P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left> double dDistance = 0;<p></p></P><P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left> for(int i=0;i<pts.Count-1;i++)<p></p></P><P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left> {<p></p></P><P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left> dDistance += Math.Sqrt(pts.Item(i).X*pts.Item(i).X + pts.Item(i).Y*pts.Item(i).Y);<p></p></P><P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left> }<p></p></P><P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left> this.Text = mapMain.ToMapDistance((float)dDistance).ToString();<p></p></P><P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left> break;<p></p></P><P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left> }<p></p></P><P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left> case 7://面积<p></p></P><P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left> {<p></p></P><P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left> MapObjects2.Polygon ply = mapMain.TrackPolygon();<p></p></P><P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left> double dArea = ply.Area;<p></p></P><P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left> this.Text = mapMain.ToMapDistance((float)dArea).ToString();<p></p></P><P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left> break;<p></p></P><P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left> }<p></p></P><P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left> default://箭头<p></p></P><P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left> {<p></p></P><P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left> mapMain.MousePointer = MapObjects2.MousePointerConstants.moDefault;<p></p></P><P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left> break;<p></p></P><P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left> }<p></p></P><P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left> }<p></p></P><P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left> }<p></p></P>
|
|
|
2楼#
发布于:2004-09-30 12:58
<FONT size=2><FONT face=新宋体> /// <summary><p></p></FONT></FONT><P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left> /// 点选<p></p></P><P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left> /// </summary><p></p></P><P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left> private void miSelectByPoint_Click(object sender, System.EventArgs e)<p></p></P><P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left> {<p></p></P><P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left> this.CurOperate = 5;<p></p></P><P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left> mapMain.MousePointer = MapObjects2.MousePointerConstants.moArrowQuestion;<p></p></P><P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left> }<p></p></P><P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left> <p></p></P><P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left> /// <summary><p></p></P><P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left> /// 距离<p></p></P><P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left> /// </summary><p></p></P><P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left> private void miDistance_Click(object sender, System.EventArgs e)<p></p></P><P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left> {<p></p></P><P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left> this.CurOperate = 6;<p></p></P><P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left> mapMain.MousePointer = MapObjects2.MousePointerConstants.moCross;<p></p></P><P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left> }<p></p></P><P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left> <p></p></P><P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left> /// <summary><p></p></P><P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left> /// 面积<p></p></P><P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left> /// </summary><p></p></P><P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left> private void miArea_Click(object sender, System.EventArgs e)<p></p></P><P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left> {<p></p></P><P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left> this.CurOperate = 7;<p></p></P><P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left> mapMain.MousePointer = MapObjects2.MousePointerConstants.moCross;<p></p></P><P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left> }<p></p></P><P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left> }<p></p></P><P 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left>}<p></p></P><P 0cm 0cm 0pt"> <p></p></P>
|
|
|
3楼#
发布于:2004-10-12 00:30
<img src="images/post/smile/dvbbs/em01.gif" /><img src="images/post/smile/dvbbs/em01.gif" /><img src="images/post/smile/dvbbs/em01.gif" /><img src="images/post/smile/dvbbs/em01.gif" />
|
|
|
4楼#
发布于:2006-03-03 22:46
<img src="images/post/smile/dvbbs/em01.gif" /><img src="images/post/smile/dvbbs/em01.gif" /><img src="images/post/smile/dvbbs/em01.gif" /><img src="images/post/smile/dvbbs/em01.gif" /><img src="images/post/smile/dvbbs/em01.gif" /><img src="images/post/smile/dvbbs/em01.gif" /><img src="images/post/smile/dvbbs/em01.gif" /><img src="images/post/smile/dvbbs/em02.gif" /><img src="images/post/smile/dvbbs/em02.gif" /><img src="images/post/smile/dvbbs/em02.gif" /><img src="images/post/smile/dvbbs/em02.gif" /><img src="images/post/smile/dvbbs/em02.gif" />
|
|