GeoMapGrid 类,用来为布局中的地图对象添加经纬网格或者公里网,或者添加自定义的参考网格。
命名空间:
SuperMap.Data程序集: SuperMap.Data (in SuperMap.Data)
版本: dll
语法
C# |
---|
public class GeoMapGrid : Geometry |
备注
如下图所示,为一个布局控件,其中显示了一个布局,布局中的地图(地图为经纬度坐标系)添加了经纬网格,以及对经纬网格所指示的经纬度进行标注显示。
示例
以下代码示范了如何为布局中的地图添加经纬网。下列代码要求已经创建了一个 Workspace 实例,实例的名称(name)为:workspace,并且通过该实例打开了示范数据提供的 World.smwu 工作空间。还要求创建一个 MapLayoutControl 实例,实例的名称(name)为:m_mapLayoutControl。
CopyC#
// 新建一个布局对象,并将布局对象关联到已经打开的工作空间。 MapLayout mapLayout = m_mapLayoutControl.MapLayout; mapLayout.Workspace = workspace; mapLayout.Paper.Orientation = PaperOrientation.Landscape; // 设置布局中所显示的地图对象的范围。 Rectangle2D bounds = mapLayout.Bounds; int nDis = 300; bounds.Left += nDis; bounds.Bottom += nDis; bounds.Right -= nDis; bounds.Top -= nDis; GeoRectangle geomapShape = new GeoRectangle(bounds, 0); String strMapName = "Map"; m_geomap = new GeoMap(strMapName, geomapShape); m_geomap.MapName = "世界地图_Day"; // 新建一个 GeoMapGrid 对象。 GeoMapGrid geoMapGrid = new GeoMapGrid(); // 设置 GeoMapGrid 对象的相关属性,即设置地图的经纬网的风格。 // 设置为地图添加经纬网。 geoMapGrid.GridType = GeoMapGridType.Graticule; // 设置经纬网的格网线的线型风格。 geoMapGrid.GridLineStyle.LineSymbolID = 9; geoMapGrid.GridLineStyle.LineColor = Color.Black; // 设置经纬网的格网线的水平、竖直间距。 geoMapGrid.HorizontalGridDistance = 40; geoMapGrid.VerticalGridDistance = 40; // 设置经纬网的格网线的类型为实线。 geoMapGrid.GridLineType = GeoMapGridLineType.SolidLine; // 设置经纬网的边框风格。 GeoStyle style = new GeoStyle(); style.LineSymbolID = 6; style.LineColor = Color.Blue; style.LineWidth = 0.2; geoMapGrid.BorderLineStyle = style; // 设置经纬网文本标注的水平、竖直位置。 geoMapGrid.HorizontalTextPosition = HorizontalTextPositionType.Middle; geoMapGrid.VerticalTextPosition = VerticalTextPositionType.Middle; // 设置经纬网文本标注的文本风格。 geoMapGrid.GridLineTextStyle.ForeColor = Color.Black; geoMapGrid.GridLineTextStyle.FontHeight = 60; // 为地图对象添加经纬网。 m_geomap.IsGridVisible = true; m_geomap.MapGrid = geoMapGrid; // 将添加经纬网的地图对象添加到布局中。 mapLayout.Elements.AddNew(m_geomap); mapLayout.ZoomToPaper(); mapLayout.Refresh(); ///