使用ArcGIS Engine提供的命令和工具(ICommond,ITool)实现MapView操作
/***************************************************************************** * 文件: /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提供的命令和工具(ICommond,ITool)实现MapView操作相关推荐
- 利用ArcGIS Engine、VS .NET和Windows控件开发GIS应用
Dixon 原文 用ArcGIS Engine.VS .NET和Windows控件开发GIS应用 此过程说明适合那些使用.NET建立和部署应用的开发者,它描述了使用ArcGIS控件建立和部署应用的方 ...
- C#,ArcGIS Engine开发入门教程
利用ArcGIS Engine.VS .NET和Windows控件开发GIS应用 Dixon整理 此过程说明适合那些使用.NET建立和部署应用的开发者,它描述了使用ArcGIS控件建立和部署应用的方法 ...
- ArcSDE、ArcGis Engine、ArcGis Desktop的授权配置
ArcSDE.ArcGis Engine.ArcGis Desktop的授权配置 <?xml:namespace prefix = o ns = "urn:schemas-micros ...
- ArcGIS Engine基础开发教程(转)
ArcGIS Engine基础开发教程(0)--目录 <ArcEngine9.3 基础开发教程>是面向初中级开发者的一份简单易用,功能全面的学习资料及参考文档.教程首先从如何来创建一个Ar ...
- 命令行工具开发:如何快速实现命令行提示?
简介:对于稍微复杂一些的命令行工具,命令行的提示功能必不可少.那么对于不同语言的开发者,有没有一种简单快捷的实现方式呢?本文分享一种快速实现的方法,使用YAML文件定义命令行工具的使用规范,再通过工具 ...
- Windows2008安装组件命令行工具ServerManagerCmd用法介绍
转自:http://blog.sina.com.cn/s/blog_537de4b5010128al.html Windows2008 安装组件服务等内容比原来复杂的多,用鼠标点来点去,既繁琐也缓慢, ...
- ArcGIS Engine开发之旅09--几何对象和空间参考
1.Geometry Geometry 是 GIS 中使用最为广泛的对象集之一,用户在创建.删除.编辑和进行地理分析的时候,就是处理一个包含几何形体的矢量对象:除了显示要素意外,控件对象选择,要素符 ...
- 常用jdk的命令行工具:_jhsdb:JDK 9的新工具
常用jdk的命令行工具: 我喜欢在分析性能和基于Java的应用程序的其他问题的早期步骤中使用JDK随附的命令行工具,并在诸如jcmd , jps , jstat , jinfo , jhat和jmap ...
- Android 下使用 FFmpeg 命令行工具与问题排查
目录 FFmpeg 命令行工具 将相关文件加入到项目中 修改 ffmpeg 源码 问题排查 上一篇文章 中,我们已经成功编译了 FFmpeg 的主要库并集成到了我们的 Android 应用中.我们暂时 ...
- Sublime Text的命令行工具subl
在sublime的安装目录下有个subl.exe,是sublime编辑器为用户提供的命令行工具. 修改Windows系统的环境变量,将sublime的安装路径添加到环境变量里: 打开win的命令行提示 ...
最新文章
- 06.node类型设置
- 大气的压力竟然能吊起相扑力士!?
- 这个热图上面的树是根据系统发育关系画的吗?
- Tensorflow一些常用基本概念与函数(二)
- http库cookiejar模块
- mysql数据库单用户_SQLServer数据库之SqlServer数据库单用户模式无法删除的处理
- 18-elasticsearch集群健康为黄色
- Kubernetes之RBAC
- include vdimgck.php,织梦后台升级后验证码登录一直显示错误的解决方法
- TensorFlow进阶:CNN对CIFAR10图像分类
- 第三方平台通过钉钉扫码登录实现方案
- 微信公众号首次关注自动回复图文信息
- 什么是数据科学家与数据科学
- 我的世界服务器rpg武器无限耐久,我的世界无限耐久指令_我的世界鞘翅无限耐久指令...
- Failed to obtain JDBC Connection; nested exception is com.mysql.cj.jdbc.exceptions.CommunicationsEx
- 微信小程序页面上下滚动、左右滑动(二)
- MIPS微程序CPU设计
- 解决No EPCS layout data --- looking for section [EPCS-xxxxx]
- TI公司示例下载方式
- 计算机页面排版的笔记,推荐6种简单实用的手绘笔记排版