You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							97 lines
						
					
					
						
							3.4 KiB
						
					
					
				
			
		
		
	
	
							97 lines
						
					
					
						
							3.4 KiB
						
					
					
				using ESRI.ArcGIS.Carto; | 
						|
using ESRI.ArcGIS.Controls; | 
						|
using KGIS.Framework.Commands; | 
						|
using KGIS.Framework.Core.Attributes; | 
						|
using KGIS.Framework.Utils; | 
						|
using KGIS.Framework.Utils.Helper; | 
						|
using System; | 
						|
using System.Collections.Generic; | 
						|
using System.Linq; | 
						|
using System.Text; | 
						|
using System.Threading.Tasks; | 
						|
 | 
						|
namespace Kingo.Plugin.MapView.Commands | 
						|
{ | 
						|
    //[PathAttribute("Kingo.Plugin.MapView.Commands.ClearAllGraphicsCommand")] | 
						|
    public class ClearAllGraphicsCommand : BaseMenuCommand | 
						|
    { | 
						|
        public IHookHelper m_hookHelper = null;//获取地图控件和主窗体 | 
						|
 | 
						|
        public override void OnClick() | 
						|
        { | 
						|
            try | 
						|
            { | 
						|
                if (m_hookHelper != null) | 
						|
                { | 
						|
                    IGraphicsContainer graphics = m_hookHelper.ActiveView.GraphicsContainer; | 
						|
                    if (graphics == null) | 
						|
                    { | 
						|
                        return; | 
						|
                    } | 
						|
                    graphics.Reset(); | 
						|
                    IElement ele = null; | 
						|
                    while ((ele = graphics.Next()) != null) | 
						|
                    { | 
						|
                        IElementProperties eleProp = ele as IElementProperties; | 
						|
                        if (eleProp.Name == "BaseElement") | 
						|
                            continue; | 
						|
                        (ele as IGroupElement).ClearElements(); | 
						|
                    } | 
						|
                    //graphics.DeleteAllElements(); | 
						|
                    if (this.m_hookHelper != null && this.m_hookHelper.Hook != null && (this.m_hookHelper.Hook as IMapControl4) != null) | 
						|
                    { | 
						|
                        //在地图上测量,画一条线或者图形,离开绘制图形界面,功能有错误 | 
						|
                        IMapControl4 currentMap = this.m_hookHelper.Hook as IMapControl4; | 
						|
                        currentMap.CurrentTool = null; | 
						|
                        //刷新地图 | 
						|
                        (this.m_hookHelper.Hook as IMapControl4).ActiveView.PartialRefresh(esriViewDrawPhase.esriViewGraphics, null, (this.m_hookHelper.Hook as IMapControl4).ActiveView.Extent); | 
						|
                    } | 
						|
                } | 
						|
                else | 
						|
                { | 
						|
                    MessageHelper.Show("hookHelper获取失败"); | 
						|
                    //return; | 
						|
                } | 
						|
            } | 
						|
            catch (Exception ex) | 
						|
            { | 
						|
                LogAPI.Debug("点击 清除图形 时异常,异常信息如下:"); | 
						|
                LogAPI.Debug(ex); | 
						|
                LogAPI.Debug("点击 清除图形 时异常信息结束"); | 
						|
            } | 
						|
        } | 
						|
 | 
						|
        public override void OnCreate(object Hook) | 
						|
        { | 
						|
            try | 
						|
            { | 
						|
                if (Hook != null) | 
						|
                { | 
						|
                    if (m_hookHelper == null) | 
						|
                    { | 
						|
                        m_hookHelper = new HookHelper(); | 
						|
                        m_hookHelper.Hook = Hook; | 
						|
                    } | 
						|
                    //m_hookHelper.Hook = hook; | 
						|
                    if (m_hookHelper.ActiveView == null) | 
						|
                    { | 
						|
                        m_hookHelper = null; | 
						|
                        //return; | 
						|
                    } | 
						|
                } | 
						|
            } | 
						|
            catch (Exception ex) | 
						|
            { | 
						|
                m_hookHelper = new HookHelper(); | 
						|
                m_hookHelper.Hook = null; | 
						|
                //return; | 
						|
 | 
						|
                LogAPI.Debug("初始化 清除图形 时异常,异常信息如下:"); | 
						|
                LogAPI.Debug(ex); | 
						|
                LogAPI.Debug("初始化 清除图形 时异常信息结束"); | 
						|
            } | 
						|
        } | 
						|
 | 
						|
    } | 
						|
 | 
						|
}
 | 
						|
 |