Arcengine 缩放到选择要素集

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sinat_32857543/article/details/86550159
        /// <summary>
        /// 缩放到选择要素集
        /// </summary>
        /// <param name="pFeatureLayer"></param>
        private 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);
        }

猜你喜欢

转载自blog.csdn.net/sinat_32857543/article/details/86550159