zoukankan      html  css  js  c++  java
  • 编辑时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);    
    }
  • 相关阅读:
    qemu-img 整理
    学习 Spring (七) Resource
    学习 Spring (七) Resource
    ASP.NET 文件上传类 简单好用
    IOS之UIStepper控件详解
    IOS颜色块设置
    IOS之GCD记录
    ios项目中引用其他开源项目
    IOS之pageControl
    UI常用字体定义和继承的实例,ResearchKitCode
  • 原文地址:https://www.cnblogs.com/arxive/p/6017425.html
Copyright © 2011-2022 走看看