Ejemplo n.º 1
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void mapEye_MouseUpEvent(object sender, AxMapObjects2._DMapEvents_MouseUpEvent e)
 {
     MapObjects2.Point pointE;
     pointE = mapEye.ToMapPoint(e.x, e.y);
     mapMain.CenterAt(pointE.X, pointE.Y);
     mapEye.Extent = mapEye.Extent;
 }
Ejemplo n.º 2
0
        /// <summary>
        /// mapMain mouse down event
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void mapMain_MouseDownEvent(object sender, AxMapObjects2._DMapEvents_MouseDownEvent e)
        {
            switch (tBarIndex)
            {
            case 1:
            {
                MapObjects2.Rectangle zoomInRect = new MapObjects2.RectangleClass();
                MapObjects2.Point     zoomInPt   = new MapObjects2.PointClass();
                zoomInRect = this.mapMain.TrackRectangle();
                if (zoomInRect.Height > 0 && zoomInRect.Width > 0)
                {
                    mapMain.Extent = zoomInRect;
                    mapMain.Extent = mapMain.Extent;
                }
                else
                {
                    zoomInPt = mapMain.ToMapPoint(e.x, e.y);
                    mapMain.CenterAt(zoomInPt.X, zoomInPt.Y);
                    zoomRect = mapMain.Extent;
                    sr       = 0.5;
                    zoomRect.ScaleRectangle(sr);
                    mapMain.Extent = zoomRect;
                    mapMain.Extent = mapMain.Extent;
                }

                ShowLayers();
                mapEye.Extent = mapEye.Extent;
                iScale        = System.Convert.ToInt64(mapLayer.CalcScale(this.mapMain));
                if (iScale <= MAX_SCALE)
                {
                    MessageBox.Show("选择图形比例过小,请重新选择!", "警告", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    zoomFull();
                    return;
                }
                break;
            }

            case 2:
            {
                MapObjects2.Rectangle zoomOutRect = new MapObjects2.RectangleClass();
                MapObjects2.Point     zoomOutPt   = new MapObjects2.PointClass();
                zoomOutRect = mapMain.TrackRectangle();
                if (zoomOutRect.Height > 0 && zoomOutRect.Width > 0)
                {
                    sr = mapMain.Extent.Width / zoomOutRect.Width;
                    mapMain.CenterAt(zoomOutRect.Center.X, zoomOutRect.Center.Y);
                }
                else
                {
                    zoomOutPt = mapMain.ToMapPoint(e.x, e.y);
                    mapMain.CenterAt(zoomOutPt.X, zoomOutPt.Y);
                    sr = 2;
                }
                zoomRect = mapMain.Extent;
                zoomRect.ScaleRectangle(sr);
                mapMain.Extent = zoomRect;
                mapMain.Extent = mapMain.Extent;

                ShowLayers();
                mapEye.Extent = mapEye.Extent;
                break;
            }

            case 3:
            {
                mapMain.Pan();
                mapEye.Extent = mapEye.Extent;
                break;
            }

            default:
            {
                if (radioButton1.Checked == false)
                {
                    MapObjects2.Point point;
                    point = mapMain.ToMapPoint(e.x, e.y);
                    for (int i = 0; i < s_Info.Length; i++)
                    {
                        if (point.X > System.Convert.ToDouble(
                                s_Info[i].s_East) - 5 &&
                            point.X <System.Convert.ToDouble(s_Info[i].s_East) + 5 &&
                                     point.Y> System.Convert.ToDouble(s_Info[i].s_West) - 5 &&
                            point.Y < System.Convert.ToDouble(s_Info[i].s_West) + 5
                            )
                        {
                            Point position = new Point();
                            GisMapSName = s_Info[i].s_Name;
                            GisMapSNo   = s_Info[i].s_No;
                            //								position.X=e.x+POSITIONX;
                            //								position.Y=e.y+POSITIONY;
                            //								GisMapMenu.Show(this,position);
                            if (GisMapSNo == "2")
                            {
                                frmDataNowD f = new frmDataNowD(GisMapSName);
                                f.ShowDialog();
                            }
                            else
                            {
                                frmDataNow f = new frmDataNow(GisMapSName);
                                f.ShowDialog();
                            }
                        }
                    }
                }
                break;
            }
            }
        }