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("初始化 清除图形 时异常信息结束"); |
|
} |
|
} |
|
|
|
} |
|
|
|
}
|
|
|