/// <summary> /// 获取经纬网,并设置属性 /// </summary> /// <returns></returns> public static IGraticule GetGraticuleAndSetProperty() { IGraticule pGraticule = new GraticuleClass(); pGraticule.Name = "Map Grid"; //设置网格线的符号样式 ICartographicLineSymbol pLineSymbol = GetLineSymbol(); pGraticule.LineSymbol = pLineSymbol; //设置网格的边框样式 pGraticule.Border = (IMapGridBorder)GetMapGridBorder(); //设置网格的主刻度的样式和可见性 pGraticule.TickLength = 15; pGraticule.TickMarkSymbol = null; pGraticule.TickLineSymbol = pLineSymbol; //设置网格的次级刻度的样式和可见性 pGraticule.SubTickCount = 5; pGraticule.SubTickLength = 10; pGraticule.SubTickLineSymbol = pLineSymbol; pGraticule.SetSubTickVisibility(true, true, true, true); //设置网格的标签的样式和可见性 pGraticule.LabelFormat.Font = MappingHelper.GetFont("Arial") as IFontDisp; pGraticule.Visible = true; return(pGraticule); }
public IMapGrid CreateMapGrid(int int_0) { IMapGrid grid = null; switch (int_0) { case 0: grid = new GraticuleClass(); break; case 1: grid = new MeasuredGridClass(); break; case 2: grid = new IndexGridClass(); break; } if (grid == null) { return(null); } grid.SetDefaults(this.m_pMapFrame); grid.LineSymbol = null; IMarkerSymbol symbol = new SimpleMarkerSymbolClass(); (symbol as ISimpleMarkerSymbol).Style = esriSimpleMarkerStyle.esriSMSCross; grid.TickMarkSymbol = symbol; if (grid is IMeasuredGrid) { IFormattedGridLabel label = new FormattedGridLabelClass(); INumericFormat format = new NumericFormatClass { AlignmentOption = esriNumericAlignmentEnum.esriAlignLeft, AlignmentWidth = 0, RoundingOption = esriRoundingOptionEnum.esriRoundNumberOfDecimals, RoundingValue = 3, ShowPlusSign = true, UseSeparator = true, ZeroPad = true }; label.Format = format as INumberFormat; (label as IGridLabel).LabelOffset = 6.0; grid.LabelFormat = label as IGridLabel; IEnvelope mapBounds = this.m_pMapFrame.MapBounds; (grid as IMeasuredGrid).FixedOrigin = true; (grid as IMeasuredGrid).XOrigin = mapBounds.XMin + 500.0; (grid as IMeasuredGrid).YOrigin = mapBounds.YMin + 500.0; grid.SetTickVisibility(false, false, false, false); grid.SetSubTickVisibility(false, false, false, false); } return(grid); }
public void CreateGrid(IActiveView activeView, IPageLayout pageLayout) { IMapGrid mapGrid = new GraticuleClass(); mapGrid.Name = "Map Grid"; IColor color = new RgbColorClass(); color.RGB = 0XBBBBBB; ICartographicLineSymbol cartographicLineSymbol = new CartographicLineSymbolClass(); cartographicLineSymbol.Cap = esriLineCapStyle.esriLCSButt; cartographicLineSymbol.Color = color; cartographicLineSymbol.Width = 2; mapGrid.LineSymbol = (ILineSymbol)cartographicLineSymbol; mapGrid.Border = null; mapGrid.TickLength = 15; cartographicLineSymbol = new CartographicLineSymbolClass(); cartographicLineSymbol.Cap = esriLineCapStyle.esriLCSButt; cartographicLineSymbol.Color = color; cartographicLineSymbol.Width = 1; mapGrid.TickLineSymbol = (ILineSymbol)cartographicLineSymbol; mapGrid.TickMarkSymbol = null; mapGrid.SubTickCount = 5; mapGrid.SubTickLength = 10; cartographicLineSymbol = new CartographicLineSymbolClass(); cartographicLineSymbol.Cap = esriLineCapStyle.esriLCSButt; cartographicLineSymbol.Color = color; cartographicLineSymbol.Width = 0.2; mapGrid.SubTickLineSymbol = (ILineSymbol)cartographicLineSymbol; IGridLabel gridLabel = mapGrid.LabelFormat; gridLabel.LabelOffset = 15; mapGrid.SetTickVisibility(true, true, true, true); mapGrid.SetSubTickVisibility(true, true, true, true); mapGrid.SetLabelVisibility(true, true, true, true); mapGrid.Visible = true; IMeasuredGrid measuredGrid = mapGrid as IMeasuredGrid; measuredGrid.FixedOrigin = true; measuredGrid.XIntervalSize = 10; measuredGrid.XOrigin = 5; //Shift grid 5 measuredGrid.YIntervalSize = 10; //Parallel interval. measuredGrid.YOrigin = 5; //Shift grid 5 IMap map = activeView.FocusMap; IGraphicsContainer graphicsContainer = pageLayout as IGraphicsContainer; IFrameElement frameElement = graphicsContainer.FindFrame(map); IMapFrame mapFrame = frameElement as IMapFrame; IMapGrids mapGrids = null; mapGrids = mapFrame as IMapGrids; mapGrids.AddMapGrid(mapGrid); activeView.PartialRefresh(esriViewDrawPhase.esriViewBackground, null, null); }
public IMapGrid CreateMapGrid() { int selectedIndex = this.radioMapGridType.SelectedIndex; IMapGrid grid = null; switch (selectedIndex) { case 0: grid = new GraticuleClass(); break; case 1: grid = new MeasuredGridClass(); break; case 2: grid = new IndexGridClass(); break; } if (grid == null) { return(null); } grid.SetDefaults(this.m_pMapFrame); grid.Name = this.txtMapGridName.Text; if (grid is IMeasuredGrid) { try { double mapScale = this.m_pMapFrame.Map.MapScale; } catch { } IEnvelope extent = (this.m_pMapFrame.Map as IActiveView).Extent; (grid as IMeasuredGrid).XOrigin = extent.XMin; (grid as IMeasuredGrid).YOrigin = extent.YMin; (grid as IMeasuredGrid).FixedOrigin = true; } return(grid); }