编辑时snapping的添加

转自原文 编辑时snapping的添加

注意需要在编辑模式下进行snapping的添加(也即先需要使用IEngineEditor进入编辑状态):

IMapControl3 mMap = (IMapControl3)((IToolbarControl)toolHook).Buddy;
IEngineEditor m_engineEditor = new EngineEditorClass();
if (m_engineEditor.EditState == esriEngineEditState.esriEngineStateNotEditing)
{
    //Start editing the workspace of the first feature layer found.
    ILayer currentLayer = mMap.get_Layer(0);
    if (currentLayer is IFeatureLayer)
    {
        IFeatureLayer featureLayer = currentLayer as IFeatureLayer;
        IDataset dataset = featureLayer.FeatureClass as IDataset;
        IWorkspace workspace = dataset.Workspace;
        m_engineEditor.StartEditing(workspace, mMap.Map);
        ((IEngineEditLayers)m_engineEditor).SetTargetLayer(featureLayer, 0);
    }
    //snapping
    if (mMap.LayerCount != 0)
    {
        IEngineEditor editor = new EngineEditorClass();
        IEngineEditLayers editLayers = editor as IEngineEditLayers;
        IEngineSnapEnvironment snapEnvironment = editor as IEngineSnapEnvironment;

        IEngineFeatureSnapAgent featureSnapAgent = new EngineFeatureSnap();
        featureSnapAgent.FeatureClass = ((IFeatureLayer)mMap.get_Layer(0)).FeatureClass; ;
        featureSnapAgent.HitType = esriGeometryHitPartType.esriGeometryPartVertex | esriGeometryHitPartType.esriGeometryPartBoundary | esriGeometryHitPartType.esriGeometryPartEndpoint;
        snapEnvironment.AddSnapAgent(featureSnapAgent);
    }

}
时间: 2024-10-13 01:57:08

编辑时snapping的添加的相关文章

xcode编辑时闪退的问题解决

KSImageName导致的xcode编辑时闪退的问题解决 尝试在Xcode 7.3 中导入了KSImageName插件  但是xcode升级后编辑代码时就闪退了,问题还是KSImageName插件的问题 以下的方案同时适用 KSImageName插件报错问题 有两种解决方案: 一.很暴力的方法 找到 KSImageName插件直接删除,KSImageName插件的路径下面有介绍 二.找到KSImageName插件的 info.plist文件中的 DVTPlugInCompatibilityUU

vim 编写脚本时自动配置添加版权信息

在编写脚本时,可添加版权信息,以便脚本的最大实用性,也是个人劳动所在 下面是vim 编写脚本时自动配置添加版权信息 在用户的家目录下(一般是root目录)编辑.vimrc(注意是隐藏文件) 编辑以下内容        (若以下内容复制格式有问题,请将附件的vimrc拷贝并改名为.vimrc) map <F4> :call TitleDet()<cr>function AddTitle()    call append(0,"\#!/bin/bash")    

百度地图API多个点聚合时,标注添加的标签label地图刷新就丢失的问题解决

当将自定义的Marker(含有Label)通过MarkerClusterer 管理的时候,当地图发生任何移动.缩放 的时候,Marker 的Label 就会自动消失. 这个问题主要是由于百度的点聚合API<script type="text/javascript" src="http://api.map.baidu.com/library/MarkerClusterer/1.2/src/MarkerClusterer_min.js"></scrip

2015/5/8 eclipse中jsp、js文件编辑时卡死怎么办?

eclipse中jsp.js文件编辑时卡死怎么办? 使用Eclipse编辑jsp.js文件时,经常出现卡死现象,通过以下几个调整来解决: 1.取消验证 Windows->Perferences->Validation,把除了manual 下面的全部点掉,build下只保留 classpath dependency Validator: 2.关闭拼写检查: Windows–>Perferences–>General–> Editors->Text Editors->

vim编辑时非正常退出处理方法

当我们在linux系统用vim编辑一个文件时,由于断电或其他的原因,比如用的ssh连接的端口,网络中断而关闭等.当再次编辑这个文件时会有提示: "filname.swp" already exists![O]pen Read-Only, (E)dit anyway, (R)ecover, (Q)uit: 当再次按确认键,可进入编辑模式,每次进入都会问你一遍,比较麻烦,为了解决这个问题,我们很有必要讨论一下为什么会产生这个吧 因为当vim编辑一个文件时系统会自动产生一个相同文件作为备份,

QTableWidgetItem默认编辑时,不是数字的字符也能输入。怎么

QTableWidgetItem默认编辑时,不是数字的字符也能输入.如何设置不是数字的就不能输入?QTableWidgetItem默认 QTableWidgetItem默认编辑时,不是数字的字符也能输入.如何设置不是数字的就不能输入?QTableWidgetItem默认编辑时,不是数字的字符也能输入.如何设置不是数字的就不能输入? [解决办法]QRegExp ipRegExp = QRegExp("((2[0-4]\\d|25[0-5]|[01]?\\d\\d?)\\.){4}"); 

C++ 使用Json时,VS2010添加jsoncpp

一 编译链接 1 在相应官网下载jsoncpp 2 解压得到jsoncpp-src-0.5.0文件 3 打开jsoncpp-src-0.5.0 -> makefiles -> vs71 -> jsoncpp.sln 4 转换项目为VS2010格式 5 选择debug模式 6 在“解决方案资源管理器”中右击 lib_json 选择->仅用于项目 -> 仅生成lib_json 7 再次右击 lib_json 选择->仅用于项目 -> 仅链接lib_json 8 选择r

问题-[Delphi]在对GRID设置单击为编辑时,其他GRID可以,但有一个GRID不行?

问题现象:在对GRID设置单击为编辑时,其他GRID可以,但有一个GRID不行?问题原因:在这个GRID中的单击事件可能不存在,可以测试一下有没有单击事件.解决方法:需要在GRID的上一个类中,放开单击事件?

maven项目在开发者进行编辑时关注的目录结构

项目完毕,使用maven构建,实例看一下maven项目的整体结构. 在编辑时的一个目录结构,使用maven的层次化插件会自动生成这样的目录,所谓约定大于配置: 在顶级目录上是工程的描述文件pom.xml(如果使用Ant则还包括其他属性文件,maven.xml或build.xml),另外还包括提供给最终用户的文件,如,README.txt, LICENSE.txt等等. 顶级目录还包括两个子目录:src,target.顶级目录下可能出现的其他目录仅仅是CVS或.svn和其他多模块工程的工程目录,最