Ejemplo n.º 1
0
        /// <summary>
        /// 缩放至图层
        /// </summary>
        /// <param name="axMapControl">地图控件</param>
        /// <param name="featureLayerName">要素图层名称,该图层应当存在于地图控件中</param>
        public static void MapZoomToLayer(this AxMapControl axMapControl, string featureLayerName)
        {
            var featureLayer = axMapControl.GetFeatureLayer(featureLayerName);

            if (featureLayer == null)
            {
                throw new Exception($"在地图控件中,找不到名为“{featureLayerName}的要素图层”");
            }
            MapZoomTo(axMapControl.ActiveView, featureLayer.AreaOfInterest);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// 地图缩放至指定要素并闪烁
        /// </summary>
        /// <param name="axMapControl">地图控件</param>
        /// <param name="featureLayerName">要素图层名称,该图层应当存在于地图控件中</param>
        /// <param name="whereClause">筛选要素的where条件</param>
        /// <param name="nFlashes">闪烁次数</param>
        public static void MapZoomToAndFlash(this AxMapControl axMapControl, string featureLayerName, string whereClause, int nFlashes = 2)
        {
            var featureLayer = axMapControl.GetFeatureLayer(featureLayerName);

            if (featureLayer == null)
            {
                throw new Exception($"在地图控件中,找不到名为“{featureLayerName}的要素图层”");
            }

            MapZoomToAndFlash(axMapControl, featureLayer, whereClause, nFlashes);
        }
Ejemplo n.º 3
0
        /// <summary>
        /// 地图缩放至指定要素并闪烁
        /// </summary>
        /// <param name="axMapControl">地图控件</param>
        /// <param name="featureLayerName">要素图层名称,该图层应当存在于地图控件中</param>
        /// <param name="whereClause">筛选要素的where条件</param>
        /// <param name="nFlashes">闪烁次数</param>
        public static void MapZoomToAndFlash(this AxMapControl axMapControl, string featureLayerName, int[] oids, int nFlashes = 2)
        {
            var featureLayer = axMapControl.GetFeatureLayer(featureLayerName);

            if (featureLayer == null)
            {
                throw new Exception($"在地图控件中,找不到名为“{featureLayerName}的要素图层”");
            }

            var strOids     = oids.Select(v => v.ToString()).Aggregate((a, b) => a + "," + b);
            var whereClause = $"{featureLayer.FeatureClass.OIDFieldName} In ({strOids})";

            MapZoomToAndFlash(axMapControl, featureLayer, whereClause, nFlashes);
        }