使用ArcGIS Engine提供的命令和工具(ICommond,ITool)实现MapView操作
2009-10-29 10:07
543 查看
/***************************************************************************** * 文件: /Feature/MapNavigation.cs * * 创建日期: 2009-9-23 10:49 * * 作者: xelam * * 作用:漫游地图功能,自制ToolBar *****************************************************************************/ using System; using System.Collections.Generic; using System.Linq; using System.Text; using ESRI.ArcGIS.SystemUI; using ESRI.ArcGIS.Controls; using CZWIMS.Feature.Exception; namespace CZWIMS.Feature.MapNavigation { class MapNavigation { /// <summary> /// 地图 缩小功能 /// </summary> /// <param name="mapC"></param> /// <returns></returns> public static int zoomOut(AxMapControl mapC) { try { createTool(mapC, new ControlsMapZoomOutToolClass()); return 1; } catch (System.Exception ex) { ShowExceptionDialog.show(ex.ToString()); return 0; } } /// <summary> /// 地图 放大功能 /// </summary> /// <param name="mapC"></param> /// <returns></returns> public static int zoomIn(AxMapControl mapC) { try { createTool(mapC, new ControlsMapZoomInToolClass()); return 1; } catch (System.Exception ex) { ShowExceptionDialog.show(ex.ToString()); return 0; } } /// <summary> /// 地图 全屏功能 /// </summary> /// <param name="mapC"></param> /// <returns></returns> public static int fullExtent(AxMapControl mapC) { try { createCommond(mapC, new ControlsMapFullExtentCommandClass()); return 1; } catch (System.Exception ex) { ShowExceptionDialog.show(ex.ToString()); return 0; } } /// <summary> /// 地图 平移功能 /// </summary> /// <param name="mapC"></param> /// <returns></returns> public static int PanMap(AxMapControl mapC) { try { createTool(mapC, new ControlsMapPanTool()); return 1; } catch (System.Exception ex) { ShowExceptionDialog.show(ex.ToString()); return 0; } } /// <summary> /// 地图 上一视图 功能 /// </summary> /// <param name="mapC"></param> /// <returns></returns> public static int toLastExtentForward(AxMapControl mapC) { try { createCommond(mapC, new ControlsMapZoomToLastExtentForwardCommandClass()); return 1; } catch (System.Exception ex) { ShowExceptionDialog.show(ex.ToString()); return 0; } } /// <summary> /// 地图 下一视图 功能 /// </summary> /// <param name="mapC"></param> /// <returns></returns> public static int toLastExtentBack(AxMapControl mapC) { try { createCommond(mapC, new ControlsMapZoomToLastExtentBackCommandClass()); return 1; } catch (System.Exception ex) { ShowExceptionDialog.show(ex.ToString()); return 0; } } /// <summary> /// AO工具应用Itool /// </summary> /// <param name="mapC"></param> /// <param name="ic"></param> private static void createTool(AxMapControl mapC,ICommand ic){ try { ic.OnCreate(mapC.Object); mapC.CurrentTool = ic as ITool; } catch (System.Exception ex) { ShowExceptionDialog.show(ex.ToString()); throw new MissingMemberException(); } } /// <summary> /// AO工具应用ICommond /// </summary> /// <param name="mapC"></param> /// <param name="ic"></param> private static void createCommond(AxMapControl mapC, ICommand ic) { try { ic.OnCreate(mapC.Object); ic.OnClick(); } catch (System.Exception ex) { ShowExceptionDialog.show(ex.ToString()); throw new MissingMemberException(); } } } }
相关文章推荐
- 使用ArcGIS Engine提供的命令和工具实现MapView操作
- Python之Fabric模块 Fabric是基于Python实现的SSH命令行工具,简化了SSH的应用程序部署及系统管理任务,它提供了系统基础的操作组件,可以实现本地或远程shell命令,包括:
- 转:在自己的工具条中使用ArcGIS Engine提供的命令和工具
- 转:在自己的工具条中使用ArcGIS Engine提供的命令和工具
- ios TableView那些事(三十 五)TableView 单选操作使用Autolayout实现UITableView的Cell动态布局和高度动态改变
- 使用expect工具ssh登录远程服务器并执行命令操作
- C#使用WinRar命令进行压缩和解压缩操作的实现方法
- [翻译] Scott Mitchell 的ASP.NET 2.0数据操作教程之十:使用 GridView 和DetailView实现的主/从报表
- Android圆形图片不求人,自定义View实现(BitmapShader使用)
- ASP.NET 2.0 中的数据操作:: 使用 GridView 和DetailView实现的主/从报表
- linux iostat命令详解和使用实例(磁盘操作监控工具)
- 在ASP.NET 2.0中操作数据之十:使用 GridView和DetailView实现的主/从报表
- windows下使用 Secure Shell Client工具操作linux常用命令
- 使用 Secure Shell Client工具操作linux常用命令打包到测试命令
- MongoDB_03之使用shell命令实现对文档数据的操作
- linux iostat命令详解和使用实例(磁盘操作监控工具)
- Android圆形图片不求人,自定义View实现(BitmapShader使用)
- linux iostat命令详解和使用实例(磁盘操作监控工具)
- ASP.NET 2.0 中的数据操作:: 使用 GridView 和DetailView实现的主/从报表
- 使用lua脚本和jedis实现redis的hmsetnx命令,操作hash表时不覆盖原有数据