Select to view content in your preferred language

Problem LayerDrawingOptions for several layers.

848
1
07-31-2014 03:08 AM
mk2
by
Deactivated User

Hello everyone, I have problems when trying to change dynamically my layers' visual representation.

I have 2 ArcGISDynamicMapServiceLayers, one use SimpleRenderer, another UniqueValueRenderer.

The property layer.layerDrawingOptions is null when my layers are shown initially.

I manage to change style of each layer, but .... When I modify me second layer's representation I see 2 modified layers on the screen firstly, but when

I change zoom level, only the last modified layer is keepenig it's new style. What is going on? What I'm doing wrong?

I change layers' DrawingOptions like this:

if (l as ArcGISDynamicMapServiceLayer)

                {

                    //--SimpleRenderer

                    if(rndr as SimpleRenderer)

                    {

                        srenderer.symbol = symbol;

                        l.layerDrawingOptions = DrawingOptions1;

                       

                    //--UniqueValueRenderer   

                    } else if (rndr as UniqueValueRenderer) {

 

                        uvr_field = rndr.field;

                        uvr_delimiter = rndr.fieldDelimiter;

                        arrRndrInfos = [my new style for sublayers];

                        dLayer.layerDrawingOptions = DrawingOptions2;

}

<fx:Declarations>

       

        <fx:Array id="DrawingOptions1">

            <esri:LayerDrawingOptions layerId="{layerId}" alpha="1" >

                <esri:SimpleRenderer id="srenderer" />

            </esri:LayerDrawingOptions>

        </fx:Array>   

           

        <fx:Array id="DrawingOptions2">

            <esri:LayerDrawingOptions layerId="{layerId}" >           

                  <esri:UniqueValueRenderer field="{uvr_field}" fieldDelimiter="{uvr_delimiter}" infos="{arrRndrInfos}"/>

            </esri:LayerDrawingOptions>

        </fx:Array>

       

    </fx:Declarations>

Tags (1)
0 Kudos
1 Reply
mk2
by
Deactivated User

ok, I made a mistake while trying to simplify : the code is like this :

if (l as ArcGISDynamicMapServiceLayer)

                {

                    dLayer = l as ArcGISDynamicMapServiceLayer;  

                    //--SimpleRenderer

                    if(rndr as SimpleRenderer)

                    {

                      ...

                        dLayer.layerDrawingOptions = DrawingOptions1;

                       

                    //--UniqueValueRenderer   

                    } else if (rndr as UniqueValueRenderer) {

                      

                         ...

                        dLayer.layerDrawingOptions = DrawingOptions2;

0 Kudos