问题描述
ESRI.ArcGIS.Server.IServerContextpServerContext=GetServerContext();//获取服务器上下文ESRI.ArcGIS.Carto.IMapServermapServer=(ESRI.ArcGIS.Carto.IMapServer)pServerContext.ServerObject;//ServerObjectESRI.ArcGIS.Carto.IMapServerObjects2mapServerObjects=(ESRI.ArcGIS.Carto.IMapServerObjects2)mapServer;stringmapName=mapServer.get_MapName(0);//得到相关图层ESRI.ArcGIS.Carto.ILayerpLayer=mapServerObjects.get_Layer(mapName,layerID);ESRI.ArcGIS.Carto.IGeoFeatureLayerpGeoLayer=pLayerasIGeoFeatureLayer;IChartRendererpChartRender=pServerContext.CreateObject("esriCarto.ChartRenderer")asIChartRenderer;IRendererFieldspRenderFields=pChartRenderasIRendererFields;foreach(stringvarinfields){pRenderFields.AddField(var,var);}IBarChartSymbolpBarChartSymbol=pServerContext.CreateObject("esriDisplay.BarChartSymbol")asIBarChartSymbol;IChartSymbolpChartSymbol=pBarChartSymbolasIChartSymbol;pChartSymbol.MaxValue=GetStaMaxMin(fields,pGeoLayer)[0];pBarChartSymbol.Width=8;IMarkerSymbolpMarkerSymbol=pBarChartSymbolasIMarkerSymbol;pMarkerSymbol.Size=50;//设置柱状图填充内容ISymbolArraypSymbolArray=pBarChartSymbolasISymbolArray;RandomranColor=newRandom();for(inti=0;i<fields.Length;i++){IFillSymbolpFillSymbol=pServerContext.CreateObject("esriDisplay.SimpleFillSymbol")asIFillSymbol;pFillSymbol.Color=GetRGB(ranColor.Next(255),ranColor.Next(255),ranColor.Next(255),pServerContext);pSymbolArray.AddSymbol((ISymbol)pFillSymbol);}//设置地图图层背景ESRI.ArcGIS.Display.ISimpleFillSymbolpFSymbol=pServerContext.CreateObject("esriDisplay.SimpleFillSymbol")asESRI.ArcGIS.Display.SimpleFillSymbol;pFSymbol.Color=GetRGB(239,228,249,pServerContext);pChartRender.BaseSymbol=pFSymbolasISymbol;//应用柱状专题到指定图层pChartRender.ChartSymbol=pBarChartSymbolasIChartSymbol;pChartRender.Label="面积大小";pChartRender.UseOverposter=false;pChartRender.CreateLegend();pGeoLayer.Renderer=pChartRenderasIFeatureRenderer;//刷新地图显示图表及图例mapServerObjects.RefreshServerObjects();Map1.RefreshResource("USAmap");Toc1.BuddyControl="Map1";Toc1.Refresh();Map1.Refresh();pServerContext.ReleaseContext();最近编写了这个实现柱状图的代码,可以运行,但是柱状图一直不显示,查了很多网上的代码基本都是这样,实在是不知道哪里出了问题,希望各位大神帮助一下小弟,如果对代码有疑问,我可以把详细的代码发给大家,谢谢了!!