shobaravi

Map Service GetLegendInfo / GetLegendInfo2 Methods do not support dynamic layer rende

Discussion created by shobaravi on Jul 10, 2012
It is observed that ArcGIS 10.1 Soap Proxy Method "Map Service GetLegendInfo" and "Map Service GetLegendInfo2" do not support dynamic layer rendering.
Here I have defined a classbreak featurerenderer on a layer and assigned the FeatureLayerDrawingDescription to the layer's drawing description.
The code snippet is as follows:

Note: myDictionary is a dictionary object which holds the featurerenderer for a layer

  foreach (LayerDescription layerDesc in mapDesc.LayerDescriptions)
                            {
                                int layerID = layerDesc.LayerID;

                                if (myDictionary.ContainsKey(layerID.ToString()))
                                {
                                    FeatureRenderer featureRenderer = null;
                                    bool hasRenderer = myDictionary.TryGetValue(layerID.ToString(), out featureRenderer);

                                    FeatureLayerDrawingDescription layerDrwaingDesc = layerDesc.DrawingDescription as FeatureLayerDrawingDescription;
                                    if (layerDrwaingDesc == null)
                                    {
                                        layerDrwaingDesc = new FeatureLayerDrawingDescription();
                                        layerDrwaingDesc.SourceLayerID = layerID;
                                        layerDrwaingDesc.SourceLayerIDSpecified = true;
                                    }

                                    if (hasRenderer && featureRenderer != null && layerDrwaingDesc != null)
                                    {
                                        layerDrwaingDesc.FeatureRenderer = featureRenderer;
                                        mapDesc.LayerDescriptions[layerID].DrawingDescription = layerDrwaingDesc;
                                    }
                                }
                            }

When this mapdescription object 'mapDesc' is passed to the GetLegendInfo / GetLegendInfo2 method, the legend information for layer having a featurerenderer does not reflect the dynamic layer drawing property.

Is this is a bug with arcgis 10.1 soap method or is it that the GetLegendInfo method does not support dynamic layering?

Outcomes