public static void ZoomToFeatureLayerSelection(IFeatureLayer pFeatureLayer)
{
IFeatureSelection featureSelection = pFeatureLayer as IFeatureSelection;
if (featureSelection.SelectionSet.Count == 0) return;
IEnumGeometryBind tEnumGeometryBind = new EnumFeatureGeometryClass();
tEnumGeometryBind.BindGeometrySource(null, featureSelection.SelectionSet);
IEnumGeometry tEnumGeometry = (IEnumGeometry)tEnumGeometryBind;
IGeometryFactory tGeometryFactory = new GeometryEnvironmentClass();
IGeometry tGeometry = tGeometryFactory.CreateGeometryFromEnumerator(tEnumGeometry); //缓冲处理,使处于边界的元素在视图中能够完全显示
ITopologicalOperator mTopologicalOperator = (ITopologicalOperator)tGeometry;
IGeometry mPolygonBuffer = mTopologicalOperator.Buffer(0.1) as IGeometry;
//MapControl.Extent = mPolygonBuffer.Envelope;
//MapControl.ActiveView.PartialRefresh(esriViewDrawPhase.esriViewGeoSelection, featureSelection, tGeometry.Envelope);
//ArcMap.Document.ActiveView.Extent = axMapControl1.ActiveView.Extent;
// ArcMap.Document.ActiveView.Refresh();
ArcMap.Document.ActiveView.Extent = mPolygonBuffer.Envelope;
ArcMap.Document.ActiveView.Refresh();
}
public static void ZoomToFeatureLayerSelection(IActiveView pActiveView, IFeatureLayer pFeatureLayer)
{
IFeatureSelection featureSelection = pFeatureLayer as IFeatureSelection;
IEnumGeometryBind tEnumGeometryBind = new EnumFeatureGeometryClass();
tEnumGeometryBind.BindGeometrySource(null, featureSelection.SelectionSet);
IEnumGeometry tEnumGeometry = (IEnumGeometry)tEnumGeometryBind;
IGeometryFactory tGeometryFactory = new GeometryEnvironmentClass();
IGeometry tGeometry = tGeometryFactory.CreateGeometryFromEnumerator(tEnumGeometry); //缓冲处理,使处于边界的元素在视图中能够完全显示
ITopologicalOperator mTopologicalOperator = (ITopologicalOperator)tGeometry;
IGeometry mPolygonBuffer = mTopologicalOperator.Buffer(0.01) as IGeometry;
//MapControl.Extent = mPolygonBuffer.Envelope;
//MapControl.ActiveView.PartialRefresh(esriViewDrawPhase.esriViewGeoSelection, featureSelection, tGeometry.Envelope);
//ArcMap.Document.ActiveView.Extent = axMapControl1.ActiveView.Extent;
// ArcMap.Document.ActiveView.Refresh();
pActiveView.Extent = mPolygonBuffer.Envelope;
pActiveView.Refresh();
}
缩放到选择要素
最新推荐文章于 2022-03-29 13:48:50 发布