Exemple #1
0
        private async void CenterMap()
        {
            string errorMessage = null;

            try
            {
                await Dispatcher.RunAsync(CoreDispatcherPriority.Normal, async() =>
                {
                    Geolocator geolocator   = new Geolocator();
                    Geoposition geoposition = null;
                    geoposition             = await geolocator.GetGeopositionAsync();

                    await MainMapControl.TrySetViewAsync(geoposition.Coordinate.Point, 16, 0, 0, Windows.UI.Xaml.Controls.Maps.MapAnimationKind.Bow);
                    //mapControl.Center = geoposition.Coordinate.Point;
                    //mapControl.ZoomLevel = 16;
                });
            }
            catch (Exception ex)
            {
                errorMessage = ex.Message;
            }

            if (errorMessage != null)
            {
                MessageDialog msg = new MessageDialog("Não foi possível localizar o seu dispositivo. Por favor verifique se o sistema de localização de seu telefone está ativado para uma melhor experiência de uso.", "Seu GPS está ativado?");
                await msg.ShowAsync();
            }
        }
Exemple #2
0
        private void axMapControl_EagleEye_OnMouseDown(object sender, IMapControlEvents2_OnMouseDownEvent e)
        {
            IPoint vPoint = new PointClass();

            vPoint.PutCoords(e.mapX, e.mapY);
            MainMapControl.CenterAt(vPoint);
        }
        /// <summary>
        /// CAD文件作为矢量图层加载
        /// 分图层加载
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnAddCADByLayerToolStripMenuItem_Click(object sender, EventArgs e)
        {
            string filePath;
            string fileName;
            string filter = "CAD(*.dwg)|*.dwg";
            string title  = "打开CAD数据文件";

            outFilePathAndFileName(title, filter, out filePath, out fileName);
            if (fileName == null || filePath == null)
            {
                return;
            }

            IWorkspaceFactory pWorkspaceFactory = new CadWorkspaceFactory();
            IFeatureWorkspace pFeatureWorkspace = pWorkspaceFactory.OpenFromFile(filePath, 0) as IFeatureWorkspace;

            // 加载CAD文件中的线文件
            IFeatureClass pFeatureClass = pFeatureWorkspace.OpenFeatureClass(fileName + ":polyline");
            IFeatureLayer pFeatureLayer = new FeatureLayerClass();

            pFeatureLayer.Name         = fileName;
            pFeatureLayer.FeatureClass = pFeatureClass;

            // 新增删除数据
            ClearAllData();

            MainMapControl.AddLayer(pFeatureLayer);
            MainMapControl.Refresh();

            //同步鹰眼
            SynchronizeEagleEye();
        }
Exemple #4
0
        /// <summary>
        /// 鹰眼地图控制器按下事件
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void EagleEyeMapControl_OnMouseDown(object sender, IMapControlEvents2_OnMouseDownEvent e)
        {
            //if (EagleEyeMapControl.Map.LayerCount > 0)
            //{
            //    // 按下鼠标左键,移动矩形框
            //    if (e.button == 1)
            //    {
            //        if (e.mapX > pEnv.XMin && e.mapY > pEnv.YMin && e.mapX < pEnv.XMax && e.mapY < pEnv.YMax)
            //        {
            //            CanDrag = true;
            //        }
            //        MoveRectPoint = new PointClass();
            //        // 记录点击的第一个点的坐标
            //        MoveRectPoint.PutCoords(e.mapX, e.mapY);
            //    }
            //    //按下鼠标右键绘制矩形框
            //    else if (e.button == 2)
            //    {
            //        IEnvelope pEnvelope = EagleEyeMapControl.TrackRectangle();

            //        IPoint pTempPoint = new PointClass();
            //        pTempPoint.PutCoords(pEnvelope.XMin + pEnvelope.Width / 2, pEnvelope.YMin + pEnvelope.Height / 2);
            //        MainMapControl.Extent = pEnvelope;
            //        //矩形框的高宽和数据试图的高宽不一定成正比,这里做一个中心调整
            //        MainMapControl.CenterAt(pTempPoint);
            //    }
            //}
            if (EagleEyeMapControl.Map.LayerCount > 0)
            {
                //按下鼠标左键移动矩形框
                if (e.button == 1)
                {
                    //如果指针落在鹰眼的矩形框中,标记可移动
                    if (e.mapX > pEnv.XMin && e.mapY > pEnv.YMin && e.mapX < pEnv.XMax && e.mapY < pEnv.YMax)
                    {
                        CanDrag = true;
                    }
                    MoveRectPoint = new PointClass();
                    MoveRectPoint.PutCoords(e.mapX, e.mapY);  //记录点击的第一个点的坐标
                }
                //按下鼠标右键绘制矩形框
                else if (e.button == 2)
                {
                    IEnvelope pEnvelope = EagleEyeMapControl.TrackRectangle();

                    IPoint pTempPoint = new PointClass();
                    pTempPoint.PutCoords(pEnvelope.XMin + pEnvelope.Width / 2, pEnvelope.YMin + pEnvelope.Height / 2);
                    MainMapControl.Extent = pEnvelope;
                    //矩形框的高宽和数据试图的高宽不一定成正比,这里做一个中心调整
                    MainMapControl.CenterAt(pTempPoint);
                }
            }
        }
        /// <summary>
        /// CAD文件作为矢量图层加载
        /// 整幅图加载
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnAddWhileCADToolStripMenuItem_Click(object sender, EventArgs e)
        {
            string filePath;
            string fileName;
            string filter = "CAD(*.dwg)|*.dwg";
            string title  = "打开CAD数据文件";

            outFilePathAndFileName(title, filter, out filePath, out fileName);
            if (fileName == null || filePath == null)
            {
                return;
            }
            // 打开一个CAD数据集
            IWorkspaceFactory pWorkspaceFactory = new CadWorkspaceFactory();
            IFeatureWorkspace pFeatureWorkspace = pWorkspaceFactory.OpenFromFile(filePath, 0) as IFeatureWorkspace;
            // 打开一个要素集
            IFeatureDataset pFeatureDataset = pFeatureWorkspace.OpenFeatureDataset(fileName);
            // IFeatureClassContainer 可以管理IFeatureDataset中的每个要素类
            IFeatureClassContainer pFeatureClassContainer = pFeatureDataset as IFeatureClassContainer;

            // 新增删除数据
            ClearAllData();

            // 对CAD文件中的要素进行遍历处理
            for (int i = 0; i < pFeatureClassContainer.ClassCount; i++)
            {
                IFeatureClass pFeatClass = pFeatureClassContainer.get_Class(i);

                // 如果是注记,则添加注记层
                if (pFeatClass.FeatureType == esriFeatureType.esriFTCoverageAnnotation)
                {
                    IFeatureLayer pFeatureLayer = new CadAnnotationLayerClass();
                    pFeatureLayer.Name         = pFeatClass.AliasName;
                    pFeatureLayer.FeatureClass = pFeatClass;
                    MainMapControl.AddLayer(pFeatureLayer);
                }
                // 如果是点线面则添加要素层
                else
                {
                    IFeatureLayer pFeatureLayer = new FeatureLayerClass();
                    pFeatureLayer.Name         = pFeatClass.AliasName;
                    pFeatureLayer.FeatureClass = pFeatClass;
                    MainMapControl.AddLayer(pFeatureLayer);
                }
                MainMapControl.Refresh();
            }

            // 同步鹰眼
            SynchronizeEagleEye();
        }
Exemple #6
0
 /// <summary>
 /// 鹰眼同步
 /// </summary>
 private void SynchronizeEagleEye()
 {
     if (EagleEyeMapControl.LayerCount > 0)
     {
         EagleEyeMapControl.ClearLayers();
     }
     // 设置鹰眼视图与主地图坐标系统一致
     EagleEyeMapControl.SpatialReference = MainMapControl.SpatialReference;
     for (int i = MainMapControl.LayerCount - 1; i >= 0; i--)
     {
         // 使鹰眼和主地图的坐标保持一致
         ILayer pLayer = MainMapControl.get_Layer(i);
         if (pLayer is IGroupLayer || pLayer is ICompositeLayer)
         {
             ICompositeLayer comositeLayer = pLayer as ICompositeLayer;
             for (int j = comositeLayer.Count - 1; j >= 0; j--)
             {
                 ILayer        pSubLayer    = comositeLayer.get_Layer(j);
                 IFeatureLayer featureLayer = pSubLayer as IFeatureLayer;
                 if (featureLayer != null)
                 {
                     if (featureLayer.FeatureClass.ShapeType != esriGeometryType.esriGeometryPoint && featureLayer.FeatureClass.ShapeType != esriGeometryType.esriGeometryMultipoint)
                     {
                         EagleEyeMapControl.AddLayer(pLayer);
                     }
                 }
             }
         }
         else
         {
             IFeatureLayer pFeatureLayer = pLayer as IFeatureLayer;
             if (pFeatureLayer != null)
             {
                 if (pFeatureLayer.FeatureClass.ShapeType != esriGeometryType.esriGeometryPoint && pFeatureLayer.FeatureClass.ShapeType != esriGeometryType.esriGeometryMultipoint)
                 {
                     EagleEyeMapControl.AddLayer(pLayer);
                 }
             }
         }
     }
     // 设置鹰眼地图全图显示
     EagleEyeMapControl.Extent = MainMapControl.FullExtent;
     pEnv = MainMapControl.Extent as IEnvelope;
     DrawRectangle(pEnv);
     EagleEyeMapControl.ActiveView.Refresh();
 }
        /// <summary>
        /// 地图文档保存
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnSaveMap_Click(object sender, EventArgs e)
        {
            try
            {
                string       sMxdFileName = MainMapControl.DocumentFilename;
                IMapDocument pMapDocument = new MapDocumentClass();
                if (sMxdFileName != null && MainMapControl.CheckMxFile(sMxdFileName))
                {
                    if (pMapDocument.get_IsReadOnly(sMxdFileName))
                    {
                        MessageBox.Show("本地图文档是只读,不能保存!");
                        pMapDocument.Close();
                        return;
                    }
                    else
                    {
                        SaveFileDialog pSaveFileDialog = new SaveFileDialog();
                        pSaveFileDialog.Title            = "请选择保存路径";
                        pSaveFileDialog.OverwritePrompt  = true;
                        pSaveFileDialog.Filter           = "ArcMap文档(*.mxd)|*.mxd|ArcMap模板(*.mxt)|*.mxt";
                        pSaveFileDialog.RestoreDirectory = true;
                        if (pSaveFileDialog.ShowDialog() == DialogResult.OK)
                        {
                            sMxdFileName = pSaveFileDialog.FileName;
                        }
                        else
                        {
                            return;
                        }
                    }

                    pMapDocument.New(sMxdFileName);
                    pMapDocument.ReplaceContents(MainMapControl.Map as IMxdContents);
                    pMapDocument.Save(pMapDocument.UsesRelativePaths, true);
                    pMapDocument.Close();
                    MessageBox.Show("保存地图文档成功");
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
Exemple #8
0
        /// <summary>
        /// 鹰眼地图控制器弹起事件
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void EagleEyeMapControl_OnMouseUp(object sender, IMapControlEvents2_OnMouseUpEvent e)
        {
            //if (e.button == 1 && MoveRectPoint != null)
            //{
            //    if (e.mapX == MoveRectPoint.X && e.mapY == MoveRectPoint.Y)
            //    {
            //        MainMapControl.CenterAt(MoveRectPoint);
            //        MainMapControl.Refresh();
            //    }
            //    CanDrag = false;
            //}

            if (e.button == 1 && MoveRectPoint != null)
            {
                if (e.mapX == MoveRectPoint.X && e.mapY == MoveRectPoint.Y)
                {
                    MainMapControl.CenterAt(MoveRectPoint);
                }
                CanDrag = false;
            }
        }
        /// <summary>
        /// 通过IMapDocument接口加载地图文档
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnIMapDocument_Click(object sender, EventArgs e)
        {
            try
            {
                OpenFileDialog pOpenFileDialog = new OpenFileDialog();
                pOpenFileDialog.CheckFileExists  = true;
                pOpenFileDialog.Title            = "打开地图文档";
                pOpenFileDialog.Filter           = "ArcMap文档(*.mxd)|*.mxd;|ArcMap模板(*.mxt)|*.mxt|发布地图文件(*.pmf)|*.pmf|所有地图格式(*.mxd;*.mxt;*.pmf)|*.mxd;*.mxt;*.pmf";
                pOpenFileDialog.Multiselect      = false;
                pOpenFileDialog.RestoreDirectory = true;
                if (pOpenFileDialog.ShowDialog() == DialogResult.OK)
                {
                    string pFileName = pOpenFileDialog.FileName;
                    if (pFileName == "")
                    {
                        return;
                    }

                    if (MainMapControl.CheckMxFile(pFileName)) //检查地图文档有效性
                    {
                        //将数据载入pMapDocument并与Map控件关联
                        IMapDocument pMapDocument = new MapDocument();//using ESRI.ArcGIS.Carto;
                        pMapDocument.Open(pFileName, "");
                        //获取Map中激活的地图文档
                        MainMapControl.Map = pMapDocument.ActiveView.FocusMap;
                        MainMapControl.ActiveView.Refresh();
                    }
                    else
                    {
                        MessageBox.Show(pFileName + "是无效的地图文档!", "信息提示");
                        return;
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("打开地图文档失败" + ex.Message);
            }
        }
        /// <summary>
        /// 加载栅格数据
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnAddRaster_Click(object sender, EventArgs e)
        {
            string         title           = "打开Raster文件";
            string         filter          = "栅格文件 (*.*)|*.bmp;*.tif;*.jpg;*.img|(*.bmp)|*.bmp|(*.tif)|*.tif|(*.jpg)|*.jpg|(*.img)|*.img";
            OpenFileDialog pOpenFileDialog = createOpenFileDialog(title, filter);
            string         pRasterFileName = pOpenFileDialog.FileName;

            if (pRasterFileName == "")
            {
                return;
            }
            string pPath     = System.IO.Path.GetDirectoryName(pRasterFileName);
            string pFileName = System.IO.Path.GetFileName(pRasterFileName);

            IWorkspaceFactory pWorkspaceFactory = new RasterWorkspaceFactory();
            IRasterWorkspace  pWorkspace        = pWorkspaceFactory.OpenFromFile(pPath, 0) as IRasterWorkspace;
            IRasterDataset    pRasterDataSet    = pWorkspace.OpenRasterDataset(pFileName);

            // 影像金字塔判断与创建
            IRasterPyramid3 pRasPyrmid;

            pRasPyrmid = pRasterDataSet as IRasterPyramid3;
            if (pRasPyrmid != null)
            {
                if (!(pRasPyrmid.Present))
                {
                    // 创建金字塔
                    pRasPyrmid.Create();
                }
            }

            IRaster      pRaster      = pRasterDataSet.CreateDefaultRaster();
            IRasterLayer pRasterLayer = new RasterLayerClass();

            pRasterLayer.CreateFromRaster(pRaster);
            ILayer pLayer = pRasterLayer as ILayer;

            MainMapControl.AddLayer(pLayer);
        }
        /// <summary>
        /// CAD文件作为栅格图层加载
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnAddRasterByCADToolStripMenuItem_Click(object sender, EventArgs e)
        {
            string filePath;
            string fileName;
            string filter = "CAD(*.dwg)|*.dwg";
            string title  = "打开CAD数据文件";

            outFilePathAndFileName(title, filter, out filePath, out fileName);
            if (fileName == null || filePath == null)
            {
                return;
            }
            IWorkspaceFactory    pWorkspaceFactory    = new CadWorkspaceFactory();
            IWorkspace           pWorkspace           = pWorkspaceFactory.OpenFromFile(filePath, 0);
            ICadDrawingWorkspace pCadDrawingWorkspace = pWorkspace as ICadDrawingWorkspace;
            // 获取CAD数据集
            ICadDrawingDataset pCadDrawingDataset = pCadDrawingWorkspace.OpenCadDrawingDataset(fileName);
            ICadLayer          pCadLayer          = new CadLayerClass();

            pCadLayer.CadDrawingDataset = pCadDrawingDataset;
            MainMapControl.AddLayer(pCadLayer);
            MainMapControl.Refresh();
        }
        /// <summary>
        /// 使用IMapControl接口的LoadFxFile方法加载地图文档
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnLoadMxFile_Click(object sender, EventArgs e)
        {
            //加载数据前如果有数据则清空
            try
            {
                OpenFileDialog pOpenFileDialog = new OpenFileDialog();
                pOpenFileDialog.CheckFileExists  = true;
                pOpenFileDialog.Title            = "打开地图文档";
                pOpenFileDialog.Filter           = "ArcMap文档(*.mxd)|*.mxd;|ArcMap模板(*.mxt)|*.mxt|发布地图文件(*.pmf)|*.pmf|所有地图格式(*.mxd;*.mxt;*.pmf)|*.mxd;*.mxt;*.pmf";
                pOpenFileDialog.Multiselect      = false; //不允许多个文件同时选择
                pOpenFileDialog.RestoreDirectory = true;  //存储打开的文件路径
                if (pOpenFileDialog.ShowDialog() == DialogResult.OK)
                {
                    string pFileName = pOpenFileDialog.FileName;
                    if (pFileName == "")
                    {
                        return;
                    }

                    if (MainMapControl.CheckMxFile(pFileName)) //检查地图文档有效性
                    {
                        ClearAllData();
                        MainMapControl.LoadMxFile(pFileName);
                    }
                    else
                    {
                        MessageBox.Show(pFileName + "是无效的地图文档!", "信息提示");
                        return;
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("打开地图文档失败" + ex.Message);
            }
        }
Exemple #13
0
        /// <summary>
        /// 地图中鼠标按下事件监听
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void MainMapControl_OnMouseDown(object sender, IMapControlEvents2_OnMouseDownEvent e)
        {
            //屏幕坐标点转化为地图坐标点
            pPointPt = (MainMapControl.Map as IActiveView).ScreenDisplay.DisplayTransformation.ToMapPoint(e.x, e.y);
            if (e.button == 1)
            {
                IActiveView pActiveView = MainMapControl.ActiveView;
                IEnvelope   pEnvelope   = new EnvelopeClass();

                switch (pMouseOperate)
                {
                case "ZoomIn":
                    pEnvelope = MainMapControl.TrackRectangle();
                    //  如果拉框范围为空则返回
                    if (pEnvelope == null || pEnvelope.IsEmpty || pEnvelope.Height == 0 || pEnvelope.Width == 0)
                    {
                        return;
                    }
                    // 如果拉框有范围,则拉大到拉框范围
                    MainMapControl.ActiveView.Extent = pEnvelope;
                    MainMapControl.ActiveView.Refresh();
                    break;

                case "ZoomOut":
                    pEnvelope = MainMapControl.TrackRectangle();
                    //  如果拉框范围为空则返回
                    if (pEnvelope == null || pEnvelope.IsEmpty || pEnvelope.Height == 0 || pEnvelope.Width == 0)
                    {
                        return;
                    }
                    else
                    {
                        double dWidth  = pActiveView.Extent.Width * pActiveView.Extent.Width / pEnvelope.Width;
                        double dHeight = pActiveView.Extent.Height * pActiveView.Extent.Height / pEnvelope.Height;
                        double dXmin   = pActiveView.Extent.XMin -
                                         ((pEnvelope.XMin - pActiveView.Extent.XMin) * pActiveView.Extent.Width /
                                          pEnvelope.Width);
                        double dYmin = pActiveView.Extent.YMin -
                                       ((pEnvelope.YMin - pActiveView.Extent.YMin) * pActiveView.Extent.Height /
                                        pEnvelope.Height);
                        double dXmax = dXmin + dWidth;
                        double dYmax = dYmin + dHeight;
                        pEnvelope.PutCoords(dXmin, dYmin, dXmax, dYmax);
                    }
                    pActiveView.Extent = pEnvelope;
                    pActiveView.Refresh();
                    break;

                case "Pan":
                    MainMapControl.Pan();
                    break;

                case "MeasureLength":
                    //判断追踪线对象是否为空,若是则实例化并设置当前鼠标点为起始点
                    if (pNewLineFeedback == null)
                    {
                        //实例化追踪线对象
                        pNewLineFeedback         = new NewLineFeedbackClass();
                        pNewLineFeedback.Display = (MainMapControl.Map as IActiveView).ScreenDisplay;
                        //设置起点,开始动态线绘制
                        pNewLineFeedback.Start(pPointPt);
                        dToltalLength = 0;
                    }
                    else     //如果追踪线对象不为空,则添加当前鼠标点
                    {
                        pNewLineFeedback.AddPoint(pPointPt);
                    }
                    //pGeometry = m_PointPt;
                    if (dSegmentLength != 0)
                    {
                        dToltalLength = dToltalLength + dSegmentLength;
                    }
                    break;

                case "MeasureArea":
                    if (pNewPolygonFeedback == null)
                    {
                        //实例化追踪面对象
                        pNewPolygonFeedback         = new NewPolygonFeedback();
                        pNewPolygonFeedback.Display = (MainMapControl.Map as IActiveView).ScreenDisplay;
                        ;
                        pAreaPointCol.RemovePoints(0, pAreaPointCol.PointCount);
                        //开始绘制多边形
                        pNewPolygonFeedback.Start(pPointPt);
                        pAreaPointCol.AddPoint(pPointPt, ref missing, ref missing);
                    }
                    else
                    {
                        pNewPolygonFeedback.AddPoint(pPointPt);
                        pAreaPointCol.AddPoint(pPointPt, ref missing, ref missing);
                    }
                    break;

                case "SelFeature":
                    IEnvelope pEnv = MainMapControl.TrackRectangle();
                    IGeometry pGeo = pEnv as IGeometry;
                    // 矩形框若为空,即为点选时,对点的范围进行扩展
                    if (pEnv.IsEmpty == true)
                    {
                        tagRECT r;
                        r.left   = e.x - 5;
                        r.top    = e.y - 5;
                        r.right  = e.x + 5;
                        r.bottom = e.y + 5;
                        pActiveView.ScreenDisplay.DisplayTransformation.TransformRect(pEnv, ref r, 4);
                        pEnv.SpatialReference = pActiveView.FocusMap.SpatialReference;
                    }
                    pGeo = pEnv as IGeometry;
                    MainMapControl.Map.SelectByShape(pGeo, null, false);
                    MainMapControl.Refresh(esriViewDrawPhase.esriViewGeoSelection, null, null);

                    //IEnvelope pEnv = MainMapControl.TrackRectangle();
                    //IGeometry pGeo = pEnv as IGeometry;
                    ////矩形框若为空,即为点选时,对点范围进行扩展
                    //if (pEnv.IsEmpty == true)
                    //{
                    //    tagRECT r;
                    //    r.left = e.x - 5;
                    //    r.top = e.y - 5;
                    //    r.right = e.x + 5;
                    //    r.bottom = e.y + 5;
                    //    pActiveView.ScreenDisplay.DisplayTransformation.TransformRect(pEnv, ref r, 4);
                    //    pEnv.SpatialReference = pActiveView.FocusMap.SpatialReference;
                    //}
                    //pGeo = pEnv as IGeometry;
                    //MainMapControl.Map.SelectByShape(pGeo, null, false);
                    //MainMapControl.Refresh(esriViewDrawPhase.esriViewGeoSelection, null, null);

                    break;

                case "ExportRegion":
                    // 删除视图中的数据
                    MainMapControl.ActiveView.GraphicsContainer.DeleteAllElements();
                    MainMapControl.ActiveView.Refresh();
                    IPolygon polygon = DrawPolygon(MainMapControl);
                    if (polygon == null)
                    {
                        return;
                    }
                    ExportMap.AddElement(polygon, MainMapControl.ActiveView);
                    if (FrmExpMap == null || FrmExpMap.IsDisposed)
                    {
                        FrmExpMap = new FormExportMap(MainMapControl);
                    }
                    FrmExpMap.IsRegion   = true;
                    FrmExpMap.GetGometry = polygon as IGeometry;
                    FrmExpMap.Show();
                    FrmExpMap.Activate();
                    break;

                case "TxtSymbol":
                    TxtSymbol(e);
                    break;

                default:
                    break;
                }
            }
            else if (e.button == 2)
            {
                pMouseOperate = "";
                MainMapControl.MousePointer = esriControlsMousePointer.esriPointerDefault;
            }
        }