/*****************************************************************************
 * 文件:       /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();
            }
        }

}
}

arcengine Icommond 自定义工具相关推荐

  1. html自定义工具条,为Autodesk Viewer添加自定义工具条的更好方法

    上一篇文章中我介绍了使用Autodesk Viewer的UI API来给viewer添加自定义工具条的方法,看起来很简单是吧.不过有个问题,就是关于自定义工具条的信息(包括按钮的文本.图标.样式.ca ...

  2. ThinkPHP3验证码、文件上传、缩略图、分页(自定义工具类、session和cookie)

    验证码 TP框架中自带了验证码类 位置:Think/verify.class.php 在LoginController控制器中创建生存验证码的方法 login.html登陆模板中 在LoginCont ...

  3. 自定义工具类:工具类介绍

    自定义工具类 自定义注解 自定义注解 package com.learn.domain.poi;import java.lang.annotation.ElementType; import java ...

  4. 第三次学JAVA再学不好就吃翔(part27)--自定义工具类

    学习笔记,仅供参考 面向对象 自定义工具类中使用静态方法 有的时候,我们需要创建一个自己的工具类,方便工作和学习中使用. 在工具类中,我们要在里面放一些静态的方法,方便我们用类名调用,这时,为了防止有 ...

  5. jQueryEasyUI选项卡 - 自定义工具样式

    结合项目截图演示说明其中的使用技巧: 首先看一段 <div> 标签内的<div data-options=" 代码片段如下" >代码: //代码片段1 da ...

  6. 【实用工具】之在VS中使用自定义工具配置nasm/yasm

    1 在VS中使用自定义工具配置nasm/yasm 1.1 方法一(参考开源工具)  可参考开源工具,具体做法是: (1).下载x264源码 (2).在windows下使用cmake便可产生vs的解决方 ...

  7. 【小米手环7】使用 Zeus + 表盘自定义工具 为小米手环7开发和安装小程序

    有关 Zepp OS Zepp OS 是华米开发的一个 RTOS,运行在手表.手环等设备上. 最新发布的小米手环7 / 7NFC 搭载的就是由华米研发的 Zepp OS.相比与之前小米手环搭载的 RT ...

  8. html八边形怎么显示,如何用几何画板自定义工具画正八边形

    几何画板自定义工具是几何画板软件的重要组成部分,有了它,你就可以按照自己的需求随心所欲的创造几何图形了:有了它,会大大缩小你制作课件的时间,比如可以借助自定义工具画正八边形,如果你不知道怎么操作,那么 ...

  9. 【开发随机】JAVA+POI+自定义注解+反射构建自定义工具类实现快捷简便的Excel模板化导出(附demo代码)

    220907更新 项目UAT期间,用户反映了一个问题,数据量稍大的情况下,会出现"从某一行开始,往下所有行设置的字体和字体大小不生效"的BUG. 经过排查,发现原因是:POI的XS ...

  10. 中望CAD的lisp编辑器_巧用中望CAD2017自定义工具选项板

    我们在日常绘图工作中,除了正常使用软件提供的工具选项板之外,还可以根据工作需要进行自定义,把最常用的对象(如命令.Lisp工具.或图形等)放置在自定义工具选项板里面,以供日常工作中随时调取使用,提高绘 ...

最新文章

  1. 【numpy学习笔记】矩阵操作
  2. 句法分析是什么?成分句法分析、依存句法分析又是什么?他们之间有什么区别?
  3. Korn Shell: typeset
  4. log4j配置及正确使用方式
  5. 成功解决return tf.nn.softmax(x, axis=axis) TypeError: softmax() got an unexpected keyword argument 'axis
  6. failed to get the task for process XXX(解决方案)
  7. function checkBrowser()//判断浏览器
  8. python中break和continue区别_Shell break和continue跳出循环详解
  9. win10c语言安装未响应,重新安装win10以后,系统总会死机,不响应任何操作,严重影响正常使用。...
  10. 毕业设计论文选题系统系统用例图_基于Web的毕业论文管理系统的设计与实现
  11. c语言中用于程序化结构设计的三种结构是,c语言中用于结构化程序设计的3种基本结构是...
  12. 软件工程-团队作业3
  13. 翻译记忆库 Translation Memory
  14. PMI与股市同期走势图
  15. Excel2003和Excel2007的区别
  16. H5前端实现微信分享(处理二次分享问题)
  17. 当百度与重庆相遇,李彦宏的AI越过山丘?
  18. MATLAB之微分方程求解(十一)
  19. 系统架构设计——互联网金融架构设计
  20. QT操作Word汇总

热门文章

  1. 3月第1周易盾业务风控关注 | 治理升级,让“标题党”、流量造假等网络乱象走开
  2. SMILES Enumeration
  3. android 应用自启管理
  4. 2021 TCR Asia收官 壳牌捷凯领克东望洋收获大满贯
  5. 天嵌通途B210和USRP B210性能对比实验
  6. 电子计算器按键的功能
  7. 手机号码相关信息整理
  8. Java调用用户芝麻信用分
  9. 【机器学习|数学基础】Mathematics for Machine Learning系列之矩阵理论(7):欧氏空间
  10. 【报错笔记】Vector for token xxx has 147 dimensions, but previously read vectors have 300 dimensions.