指北针
- public void AddNorthArrow(IPageLayout pageLayout)
- {
- IGraphicsContainer container = pageLayout as IGraphicsContainer;
- IActiveView activeView = pageLayout as IActiveView;
- // 获得MapFrame
- IFrameElement frameElement = container.FindFrame(activeView.FocusMap);
- IMapFrame mapFrame = frameElement as IMapFrame;
- //根据MapSurround的uid,创建相应的MapSurroundFrame和MapSurround
- UID uid = new UIDClass();
- uid.Value = "esriCarto.MarkerNorthArrow";
- IMapSurroundFrame mapSurroundFrame = mapFrame.CreateSurroundFrame(uid, null);
- //设置MapSurroundFrame中指北针的点符号
- IMapSurround mapSurround = mapSurroundFrame.MapSurround;
- IMarkerNorthArrow markerNorthArrow = mapSurround as IMarkerNorthArrow;
- IMarkerSymbol markerSymbol = markerNorthArrow.MarkerSymbol;
- markerSymbol.Size = 18;
- markerNorthArrow.MarkerSymbol = markerSymbol;
- //QI,确定mapSurroundFrame的位置
- IElement element = mapSurroundFrame as IElement;
- IEnvelope envelope = new EnvelopeClass();
- envelope.PutCoords(0.2, 0.2, 5, 5);
- element.Geometry = envelope;
- //使用IGraphicsContainer接口添加显示
- container.AddElement(element, 0);
- activeView.Refresh();
- }
比例尺
- public void AddScalebar(IPageLayout pageLayout)
- {
- IGraphicsContainer container = pageLayout as IGraphicsContainer;
- IActiveView activeView = pageLayout as IActiveView;
- // 获得MapFrame
- IFrameElement frameElement = container.FindFrame(activeView.FocusMap);
- IMapFrame mapFrame = frameElement as IMapFrame;
- //根据MapSurround的uid,创建相应的MapSurroundFrame和MapSurround
- UID uid = new UIDClass();
- uid.Value = "esriCarto.AlternatingScaleBar";
- IMapSurroundFrame mapSurroundFrame = mapFrame.CreateSurroundFrame(uid, null);
- //设置MapSurroundFrame中比例尺的样式
- IMapSurround mapSurround = mapSurroundFrame.MapSurround;
- IScaleBar markerScaleBar = ((IScaleBar)mapSurround);
- markerScaleBar.LabelPosition = esriVertPosEnum.esriBelow;
- markerScaleBar.UseMapSettings();
- //QI,确定mapSurroundFrame的位置
- IElement element = mapSurroundFrame as IElement;
- IEnvelope envelope = new EnvelopeClass();
- envelope.PutCoords(0.2, 0.2, 1, 2);
- element.Geometry = envelope;
- //使用IGraphicsContainer接口添加显示
- container.AddElement(element, 0);
- activeView.Refresh();
- }
图例
- private void AddLegend(IPageLayout pageLayout)
- {
- IActiveView pActiveView = pageLayout as IActiveView;
- IGraphicsContainer container = pageLayout as IGraphicsContainer;
- // 获得MapFrame
- IMapFrame mapFrame = container.FindFrame(pActiveView.FocusMap) as IMapFrame;
- //根据MapSurround的uid,创建相应的MapSurroundFrame和MapSurround
- UID uid = new UIDClass();
- uid.Value = "esriCarto.Legend";
- IMapSurroundFrame mapSurroundFrame = mapFrame.CreateSurroundFrame(uid, null);
- //设置图例的Title
- ILegend2 legend = mapSurroundFrame.MapSurround as ILegend2;
- legend.Title = "地图图例";
- ILegendFormat format = new LegendFormatClass();
- ITextSymbol symbol = new TextSymbolClass();
- symbol.Size = 4;
- format.TitleSymbol = symbol;
- legend.Format = format;
- //QI,确定mapSurroundFrame的位置
- IElement element = mapSurroundFrame as IElement;
- IEnvelope envelope = new EnvelopeClass();
- envelope.PutCoords(2, 2, 8, 8);
- element.Geometry = envelope;
- //使用IGraphicsContainer接口添加显示
- container.AddElement(element, 0);
- pActiveView.Refresh();
- }
指北针
- public void AddNorthArrow(IPageLayout pageLayout)
- {
- IGraphicsContainer container = pageLayout as IGraphicsContainer;
- IActiveView activeView = pageLayout as IActiveView;
- // 获得MapFrame
- IFrameElement frameElement = container.FindFrame(activeView.FocusMap);
- IMapFrame mapFrame = frameElement as IMapFrame;
- //根据MapSurround的uid,创建相应的MapSurroundFrame和MapSurround
- UID uid = new UIDClass();
- uid.Value = "esriCarto.MarkerNorthArrow";
- IMapSurroundFrame mapSurroundFrame = mapFrame.CreateSurroundFrame(uid, null);
- //设置MapSurroundFrame中指北针的点符号
- IMapSurround mapSurround = mapSurroundFrame.MapSurround;
- IMarkerNorthArrow markerNorthArrow = mapSurround as IMarkerNorthArrow;
- IMarkerSymbol markerSymbol = markerNorthArrow.MarkerSymbol;
- markerSymbol.Size = 18;
- markerNorthArrow.MarkerSymbol = markerSymbol;
- //QI,确定mapSurroundFrame的位置
- IElement element = mapSurroundFrame as IElement;
- IEnvelope envelope = new EnvelopeClass();
- envelope.PutCoords(0.2, 0.2, 5, 5);
- element.Geometry = envelope;
- //使用IGraphicsContainer接口添加显示
- container.AddElement(element, 0);
- activeView.Refresh();
- }
比例尺
- public void AddScalebar(IPageLayout pageLayout)
- {
- IGraphicsContainer container = pageLayout as IGraphicsContainer;
- IActiveView activeView = pageLayout as IActiveView;
- // 获得MapFrame
- IFrameElement frameElement = container.FindFrame(activeView.FocusMap);
- IMapFrame mapFrame = frameElement as IMapFrame;
- //根据MapSurround的uid,创建相应的MapSurroundFrame和MapSurround
- UID uid = new UIDClass();
- uid.Value = "esriCarto.AlternatingScaleBar";
- IMapSurroundFrame mapSurroundFrame = mapFrame.CreateSurroundFrame(uid, null);
- //设置MapSurroundFrame中比例尺的样式
- IMapSurround mapSurround = mapSurroundFrame.MapSurround;
- IScaleBar markerScaleBar = ((IScaleBar)mapSurround);
- markerScaleBar.LabelPosition = esriVertPosEnum.esriBelow;
- markerScaleBar.UseMapSettings();
- //QI,确定mapSurroundFrame的位置
- IElement element = mapSurroundFrame as IElement;
- IEnvelope envelope = new EnvelopeClass();
- envelope.PutCoords(0.2, 0.2, 1, 2);
- element.Geometry = envelope;
- //使用IGraphicsContainer接口添加显示
- container.AddElement(element, 0);
- activeView.Refresh();
- }
图例
- private void AddLegend(IPageLayout pageLayout)
- {
- IActiveView pActiveView = pageLayout as IActiveView;
- IGraphicsContainer container = pageLayout as IGraphicsContainer;
- // 获得MapFrame
- IMapFrame mapFrame = container.FindFrame(pActiveView.FocusMap) as IMapFrame;
- //根据MapSurround的uid,创建相应的MapSurroundFrame和MapSurround
- UID uid = new UIDClass();
- uid.Value = "esriCarto.Legend";
- IMapSurroundFrame mapSurroundFrame = mapFrame.CreateSurroundFrame(uid, null);
- //设置图例的Title
- ILegend2 legend = mapSurroundFrame.MapSurround as ILegend2;
- legend.Title = "地图图例";
- ILegendFormat format = new LegendFormatClass();
- ITextSymbol symbol = new TextSymbolClass();
- symbol.Size = 4;
- format.TitleSymbol = symbol;
- legend.Format = format;
- //QI,确定mapSurroundFrame的位置
- IElement element = mapSurroundFrame as IElement;
- IEnvelope envelope = new EnvelopeClass();
- envelope.PutCoords(2, 2, 8, 8);
- element.Geometry = envelope;
- //使用IGraphicsContainer接口添加显示
- container.AddElement(element, 0);
- pActiveView.Refresh();
- }