示例#1
0
        /// <summary>
        /// 设置地图框的图层数据源、图层定义查询、比例尺、地图显示范围等
        /// </summary>
        /// <param name="graphicsContainer">图形容器</param>
        /// <param name="mapFrameInfo">地图框信息</param>
        protected virtual void SetMapFrame(IGraphicsContainer graphicsContainer, MapFrameInfo mapFrameInfo)
        {
            var map = graphicsContainer.GetMapFrame(mapFrameInfo.MapFrameName).Map;

            foreach (var layerInfo in mapFrameInfo.LayerInfos)
            {
                var layer = SetLayerDataSource(map, layerInfo); //设置数据源
                if (layer is IFeatureLayer featureLayer)        //设置定义查询
                {
                    ((IFeatureLayerDefinition)featureLayer).DefinitionExpression = layerInfo.Definition;
                }
            }
            if (mapFrameInfo.Scale > 0)//设置比例尺
            {
                map.ReferenceScale = mapFrameInfo.Scale;
            }

            SetMapExtent(map, mapFrameInfo);//设置地图显示范围
        }