布局对象类。

命名空间:  SuperMap.Layout
程序集:  SuperMap.Layout (in SuperMap.Layout)
版本: dll

语法

C#
[ToolboxBitmapAttribute(typeof(MapLayout))]
public class MapLayout : Component

备注

布局就是地图、地图比例尺、指北针、文本等各种不同地图内容的混合排版与布置,主要用于电子地图和打印地图。布局窗口,即 MapLayoutControl类,用于布局的显示窗口,提供布局中各类元素的可视化编辑与操作,同时布局还提供了诸如刻度尺(RulerSetting属性)、标尺线(RulerLines属性)等辅助要素,帮助布局中各个元素的位置与大小的定位。

另外,布局还可以输出成各种格式(BMP、JPG、PNG、EMF)的图片以及进行打印,并且提供了方便灵活的页面设置。

布局可以保存在与之关联的工作空间中的,通过工作空间中的布局集合,即 Workspace 类的 Layouts属性来获取和管理工作空间中存储的布局对象。

如下图所示,为一个布局窗口,窗口中显示了一个布局对象。

备注:

下面主要介绍布局的基本构成以及布局中的坐标关系。如下图所示,为布局窗口中显示的布局对象,布局窗口主要是布局对象显示的容器,提供了水平和垂直滚动条。布局对象包含了用于度量和定位的刻度尺、用来进行布局排版的纸面、以及可以添加到布局中的布局元素(地图对象、比例尺、指北针以及其他几何对象)。

布局的坐标单位为逻辑单位,即0.1毫米,也就是说在布局中屏幕坐标的一个单位为0.1毫米。当向布局中添加布局元素时,布局元素放置的位置坐标以及元素的尺寸单位均使用逻辑单位。例如:若将Element1元素放置到布局中(1200,1200)位置处时,实际是放置在距纸面原点(下图中绿色小圆点所示)(120mm,120mm)的位置处。

布局中的纸面对象,如下图所示,纸面对象的大小可以设置,下图的纸面大小为B5型号纸张的大小(182*257mm),下图中绿色的小圆点表示纸面的原点位置,即纸面尺寸量算的起始点,纸面的原点始终位于布局中(0,0)坐标点的位置;纸面原点到纸面边缘的垂直和水平距离(下图中橘黄色双箭头所示)分别为纸面的垂直和水平页边距。

示例

以下代码示范了如何向布局页面中添加布局元素。

CopyC#
public void TestMapLayout(MapLayout mapLayout,Map map)
{
    //设置布局的纸张
    mapLayout.Paper.Size = PaperSize.A4; //A4 210 x 297 mm
    mapLayout.Paper.Orientation = PaperOrientation.Landscape;

    String mapFileXML = map.ToXML();

    //向布局中添加地图对象
    GeoMap geoMap = new GeoMap();
    geoMap.MapXML = mapFileXML;
    geoMap.ID = 1;
    geoMap.Shape = new GeoRectangle(mapLayout.Bounds.Center,2000,1500,0);//地图的宽度为200mm,高度为150mm            
    mapLayout.Elements.AddNew(geoMap);
    mapLayout.Zoom(3);
    mapLayout.Refresh();
}

继承层次

System..::.Object
  System..::.MarshalByRefObject
    System.ComponentModel..::.Component
      SuperMap.Layout..::.MapLayout

请参见