年度变更建库软件5.0版本
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.

55 lines
1.8 KiB

using ESRI.ArcGIS.Carto;
using ESRI.ArcGIS.Controls;
using ESRI.ArcGIS.Display;
using KGIS.Framework.AE.ExtensionMethod;
using KGIS.Framework.Maps;
using KGIS.Framework.Utils;
using System;
namespace Kingo.Plugin.MapView.Commands
{
//[PathAttribute("Kingo.Plugin.MapView.Commands.CmdZoomToLayer")]
public class CmdZoomToLayer : BaseMapMenuCommand
{
public override void OnClick()
{
if (m_hookHelper == null)
return;
object layer = m_hookHelper.GetCustomProperty();
if (layer is ILayer)
{
if (m_hookHelper.Hook is IPageLayoutControlDefault)
{
IActiveView activeView = m_hookHelper.ActiveView;
IDisplayTransformation displayTransformation = activeView.ScreenDisplay.DisplayTransformation;
displayTransformation.VisibleBounds = (layer as ILayer).AreaOfInterest;
//activeView.Refresh();
m_hookHelper.ActiveView.Refresh();
}
else
{
this.m_hookHelper.ActiveView.Extent = (layer as ILayer).AreaOfInterest;
}
this.m_hookHelper.ActiveView.Refresh();
}
}
public override void OnCreate(object Hook)
{
try
{
if (m_hookHelper == null)
{
m_hookHelper = new HookHelper();
m_hookHelper.Hook = Hook;
}
}
catch (Exception ex)
{
LogAPI.Debug("加载 缩放至图层 命令时发生异常,异常信息如下:");
LogAPI.Debug(ex);
LogAPI.Debug("异常信息结束");
}
}
}
}