/// <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);//设置地图显示范围 }