我现在要做在我自己地图控件 MapControl 里面写个测地图上两点间距离的功能(也就是地图测距功能)
有做过的大哥指点下小弟。

解决方案 »

  1.   

    不知道对你有用不?
    private double MapZoom;
            private double CenterX;
            private double CenterY;
           
            private double disSum = 0; private void Form1_Load(object sender, EventArgs e)
            {
                this.MapZoom = axMap1.Zoom;
                this.CenterX = axMap1.CenterX;
                this.CenterY = axMap1.CenterY;
                //ce ju li
                axMap1.CreateCustomTool(100, MapXLib.ToolTypeConstants.miToolTypePoly, MapXLib.CursorConstants.miCrossCursor, null, null, null);
                       } private void axMap1_PolyToolUsed(object sender, AxMapXLib.CMapXEvents_PolyToolUsedEvent e)
            {
              
                if (e.toolNum == 100)
                {
                    MapXLib.Points pts = (MapXLib.Points)e.points;
                    MapXLib.Point pt1, pt2;
                    for (int i = 1; i < pts.Count; i++)
                    {
                        pt1 = pts._Item(i);
                        pt2 = pts._Item(i + 1);
                        disSum += axMap1.Distance(pt1.X, pt1.Y, pt2.X, pt2.Y);
                    }
                    label1.Text ="距离:"+disSum.ToString("F2");
                }
                        }
      

  2.   

    有用的,我的地图怎么没有Distance方法 这个是要那个引用才能有啊???
      

  3.   

    谢谢!
    找了下
    using MapInfo.Geometry; 在这里
    先做下看看