/***************************************************************************** * 文件: /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操作相关推荐

  1. 利用ArcGIS Engine、VS .NET和Windows控件开发GIS应用

    Dixon 原文  用ArcGIS Engine.VS .NET和Windows控件开发GIS应用 此过程说明适合那些使用.NET建立和部署应用的开发者,它描述了使用ArcGIS控件建立和部署应用的方 ...

  2. C#,ArcGIS Engine开发入门教程

    利用ArcGIS Engine.VS .NET和Windows控件开发GIS应用 Dixon整理 此过程说明适合那些使用.NET建立和部署应用的开发者,它描述了使用ArcGIS控件建立和部署应用的方法 ...

  3. ArcSDE、ArcGis Engine、ArcGis Desktop的授权配置

    ArcSDE.ArcGis Engine.ArcGis Desktop的授权配置 <?xml:namespace prefix = o ns = "urn:schemas-micros ...

  4. ArcGIS Engine基础开发教程(转)

    ArcGIS Engine基础开发教程(0)--目录 <ArcEngine9.3 基础开发教程>是面向初中级开发者的一份简单易用,功能全面的学习资料及参考文档.教程首先从如何来创建一个Ar ...

  5. 命令行工具开发:如何快速实现命令行提示?

    简介:对于稍微复杂一些的命令行工具,命令行的提示功能必不可少.那么对于不同语言的开发者,有没有一种简单快捷的实现方式呢?本文分享一种快速实现的方法,使用YAML文件定义命令行工具的使用规范,再通过工具 ...

  6. Windows2008安装组件命令行工具ServerManagerCmd用法介绍

    转自:http://blog.sina.com.cn/s/blog_537de4b5010128al.html Windows2008 安装组件服务等内容比原来复杂的多,用鼠标点来点去,既繁琐也缓慢, ...

  7. ArcGIS Engine开发之旅09--几何对象和空间参考

    1.Geometry  Geometry 是 GIS 中使用最为广泛的对象集之一,用户在创建.删除.编辑和进行地理分析的时候,就是处理一个包含几何形体的矢量对象:除了显示要素意外,控件对象选择,要素符 ...

  8. 常用jdk的命令行工具:_jhsdb:JDK 9的新工具

    常用jdk的命令行工具: 我喜欢在分析性能和基于Java的应用程序的其他问题的早期步骤中使用JDK随附的命令行工具,并在诸如jcmd , jps , jstat , jinfo , jhat和jmap ...

  9. Android 下使用 FFmpeg 命令行工具与问题排查

    目录 FFmpeg 命令行工具 将相关文件加入到项目中 修改 ffmpeg 源码 问题排查 上一篇文章 中,我们已经成功编译了 FFmpeg 的主要库并集成到了我们的 Android 应用中.我们暂时 ...

  10. Sublime Text的命令行工具subl

    在sublime的安装目录下有个subl.exe,是sublime编辑器为用户提供的命令行工具. 修改Windows系统的环境变量,将sublime的安装路径添加到环境变量里: 打开win的命令行提示 ...

最新文章

  1. 06.node类型设置
  2. 大气的压力竟然能吊起相扑力士!?
  3. 这个热图上面的树是根据系统发育关系画的吗?
  4. Tensorflow一些常用基本概念与函数(二)
  5. http库cookiejar模块
  6. mysql数据库单用户_SQLServer数据库之SqlServer数据库单用户模式无法删除的处理
  7. 18-elasticsearch集群健康为黄色
  8. Kubernetes之RBAC
  9. include vdimgck.php,织梦后台升级后验证码登录一直显示错误的解决方法
  10. TensorFlow进阶:CNN对CIFAR10图像分类
  11. 第三方平台通过钉钉扫码登录实现方案
  12. 微信公众号首次关注自动回复图文信息
  13. 什么是数据科学家与数据科学
  14. 我的世界服务器rpg武器无限耐久,我的世界无限耐久指令_我的世界鞘翅无限耐久指令...
  15. Failed to obtain JDBC Connection; nested exception is com.mysql.cj.jdbc.exceptions.CommunicationsEx
  16. 微信小程序页面上下滚动、左右滑动(二)
  17. MIPS微程序CPU设计
  18. 解决No EPCS layout data --- looking for section [EPCS-xxxxx]
  19. TI公司示例下载方式
  20. 计算机页面排版的笔记,推荐6种简单实用的手绘笔记排版

热门文章

  1. R语言报错 变数的长度不一样,需要改成元素自变量对应的名称
  2. java simon_Java程序监控API Java Simon
  3. u盘在电脑上读不出来?从这几方面排查
  4. Typora 自定义皮肤
  5. JDBC Driver介绍
  6. Element-UI 上传图片到达一定数量后隐藏图片上传按钮
  7. win10更改了用户名后远程登录还要用原来的用户名怎么修改
  8. python分割图片、合并图片
  9. 软考(软件设计师)中的一些总结
  10. PowerVR SDK工具包21.1版新亮点一览,特别增加光线追踪代码示例