Example #1
0
        /// <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);
        }
Example #2
0
        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);
        }
Example #4
0
        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);
        }