laptop and a wrench

Bug

Map legend does not refresh when visibility of layers is binding to a check box in a ViewStack(NavigatorContent).

Last Published: August 25, 2014 ArcGIS API for Flex
Bug ID Number NIM078037
SubmittedFebruary 9, 2012
Last ModifiedJune 5, 2024
Applies toArcGIS API for Flex
Version found2.5
Version Fixed3.0
StatusFixed

Workaround

See the sample below. The workaround is commented out.Include the code will solve the problem:Sample:<?xml version="1.0" encoding="utf-8"?><s:Application xmlns:fx="<a href="http://ns.adobe.com/mxml/2009" target="_blank">http://ns.adobe.com/mxml/2009</a>" xmlns:s="library://<a href="http://ns.adobe.com/flex/spark" target="_blank">ns.adobe.com/flex/spark</a>" xmlns:esri="<a href="http://www.esri.com/2008/ags" target="_blank">http://www.esri.com/2008/ags</a>" xmlns:mx="library://<a href="http://ns.adobe.com/flex/mx" target="_blank">ns.adobe.com/flex/mx</a>" pageTitle="Aloha Existing Conditions" > <fx:Script> <![CDATA[ import com.esri.ags.Graphic; import com.esri.ags.components.Editor; import com.esri.ags.components.Legend; import com.esri.ags.events.FeatureLayerEvent; import com.esri.ags.events.LayerEvent; import com.esri.ags.geometry.MapPoint; import com.esri.ags.layers.ArcGISDynamicMapServiceLayer; import com.esri.ags.layers.DynamicMapServiceLayer; import com.esri.ags.layers.TiledMapServiceLayer; import com.esri.ags.layers.supportClasses.LayerInfo; import com.esri.ags.layers.supportClasses.LayerLegendInfo; import com.esri.ags.layers.supportClasses.LegendItemInfo; import com.esri.ags.tasks.supportClasses.AddressCandidate; import flash.events.Event; import flashx.textLayout.events.UpdateCompleteEvent; import mx.containers.TitleWindow; import mx.controls.Alert; import mx.core.IFlexDisplayObject; import mx.events.FlexEvent; import mx.managers.PopUpManager; import mx.rpc.AsyncResponder; import spark.components.Panel; import spark.events.IndexChangeEvent; //buttonBar changeEvent Handler to deactivate check boxes protected function viewMenu_changeHandler(event:IndexChangeEvent):void { bikelaneCheckBox.selected = false; sCommentCheckBox.selected = false; bCommentCheckBox.selected = false; sidewalkCheckBox.selected = false; opsCheckBox.selected = false; planningAreasCheckBox.selected = false; } protected function CheckBox_clickHandler(event:MouseEvent):void { //walk around function. //uncomment this make the legend refresh // myMap.zoom(1); } ]]> </fx:Script> <!-- Button Bar Window ~~~~~~~~~~~~~~~ --> <s:BorderContainer id="buttonBarContainer" left="352" right="3" top="64" height="134" borderWeight="2" cornerRadius="5"> <s:Label text="Select an below:" x="10" y="10"/> <s:ButtonBar id="viewMenu" fontSize="14" left="5" right="5" top="30" height="21" alpha=".7" requireSelection="true" dataProvider="{myViewStack}" change="viewMenu_changeHandler(event)"/> <s:Group id="layerGroup" left="5" right="3" top="55" height="80"> <mx:ViewStack id="myViewStack" width="330" height="72" > <!-- Environmental tab ~~~~~~~~~~~~~~--> <s:NavigatorContent id="environ" label="Environmental"> <s:layout> <s:TileLayout paddingLeft="10" paddingRight="20" orientation="columns" columnWidth="200" requestedColumnCount="-1"/> </s:layout> <s:CheckBox id="opsCheckBox" label="Watershed Enhancement" fontSize="14" selected="false" click="CheckBox_clickHandler(event)"/> </s:NavigatorContent> <!-- Planning tab ~~~~~~~~~~~~~~--> <s:NavigatorContent id="planning" label="Planning"> <s:layout> <s:TileLayout paddingLeft="10" paddingRight="20" orientation="columns" columnWidth="175" requestedColumnCount="-1"/> </s:layout> <s:CheckBox id="planningAreasCheckBox" label="Planning Areas" fontSize="14" selected="false" click="CheckBox_clickHandler(event)"/> </s:NavigatorContent> <!-- trans tab ~~~~~~~~~~~~~~--> <s:NavigatorContent id="trans" label="Transportation"> <s:layout> <s:TileLayout columnWidth="175" orientation="columns" paddingLeft="10" paddingRight="20" requestedColumnCount="-1"/> </s:layout> <s:CheckBox id="sCommentCheckBox" label="Sidewalk Comments" fontSize="14" selected="false" click="CheckBox_clickHandler(event)"/> <s:CheckBox id="sidewalkCheckBox" label="Sidewalk Inventory" fontSize="14" selected="false" click="CheckBox_clickHandler(event)"/> <s:CheckBox id="bikelaneCheckBox" label="Bike Lane Inventory" fontSize="14" selected="false" click="CheckBox_clickHandler(event)"/> <s:CheckBox id="bCommentCheckBox" label="Bike Lane Comment" fontSize="14" selected="false" click="CheckBox_clickHandler(event)"/> </s:NavigatorContent> </mx:ViewStack> <!--<s:Label id="selectionText" x="10" y="60"/> --> </s:Group> </s:BorderContainer> <!-- Legend Window ~~~~~~~~~~~~~~~ --> <s:BorderContainer id="leContainer" left="3" top="140" bottom="3" width="347" borderColor="#808080" borderWeight="2" cornerRadius="5" fontWeight="bold"> <s:VGroup id="hGroup" width="333" height="500" paddingBottom="11" paddingLeft="5" paddingRight="5" paddingTop="10"> <esri:Legend id="myLegend" height="100%" bottom="10" width="330" layers="{[ bikelaneMapServer, sidewalkMapServer, sidewalkComments, bikelaneComments, opsMapServer, planningAreasMapServer ]}" map="{myMap}" respectCurrentMapScale="true"/> </s:VGroup> </s:BorderContainer> <!-- Map Window ~~~~~~~~~~~~~~~ --> <s:BorderContainer id="mapBorder" left="352" right="3" top="200" bottom="3" borderColor="#808080" borderWeight="2" cornerRadius="5"> <esri:Map id="myMap" left="0" right="0" top="0" bottom="0" wrapAround180="true" logoVisible="false" > <esri:extent> <esri:Extent id="washco" xmin="7565269.4485383" ymin="657281.31999349" xmax="7607044.62214942" ymax="696603.368604601"> <esri:SpatialReference wkid="2269"/> </esri:Extent> </esri:extent> <esri:ArcGISTiledMapServiceLayer id="basemap" url="<a href="http://webags.co.washington.or.us/ArcGIS/rest/services/Washco_primary_basemap_SP/MapServer" target="_blank">http://webags.co.washington.or.us/ArcGIS/rest/services/Washco_primary_basemap_SP/MapServer</a>"/> <esri:ArcGISDynamicMapServiceLayer id="bikelaneMapServer" name=" " visible="{bikelaneCheckBox.selected}" url="<a href="http://webags.co.washington.or.us/ArcGIS/rest/services/DOE/DOE_Bikelane/MapServer" target="_blank">http://webags.co.washington.or.us/ArcGIS/rest/services/DOE/DOE_Bikelane/MapServer</a>"/> <esri:ArcGISDynamicMapServiceLayer id="sidewalkMapServer" name=" " visible="{sidewalkCheckBox.selected}" url="<a href="http://webags.co.washington.or.us/ArcGIS/rest/services/DOE/DOE_Sidewalk/MapServer" target="_blank">http://webags.co.washington.or.us/ArcGIS/rest/services/DOE/DOE_Sidewalk/MapServer</a>"/> <esri:ArcGISDynamicMapServiceLayer id="opsMapServer" name=" " visible="{opsCheckBox.selected}" url="<a href="http://webags.co.washington.or.us/ArcGIS/rest/services/OPS/Watershed_Enhance/MapServer" target="_blank">http://webags.co.washington.or.us/ArcGIS/rest/services/OPS/Watershed_Enhance/MapServer</a>"/> <esri:ArcGISDynamicMapServiceLayer id="planningAreasMapServer" name=" " visible="{planningAreasCheckBox.selected}" url="<a href="http://webags.co.washington.or.us/ArcGIS/rest/services/Planning/AR_Planning/MapServer" target="_blank">http://webags.co.washington.or.us/ArcGIS/rest/services/Planning/AR_Planning/MapServer</a>"/> <esri:FeatureLayer id="sidewalkComments" mode="snapshot" visible="{sCommentCheckBox.selected}" url="<a href="http://webags.co.washington.or.us/ArcGIS/rest/services/DOE/SidewalkComment/FeatureServer/0" target="_blank">http://webags.co.washington.or.us/ArcGIS/rest/services/DOE/SidewalkComment/FeatureServer/0</a>"/> <esri:FeatureLayer id="bikelaneComments" mode="snapshot" visible="{bCommentCheckBox.selected}" url="<a href="http://webags.co.washington.or.us/ArcGIS/rest/services/DOE/BikelaneComment/FeatureServer/0" target="_blank">http://webags.co.washington.or.us/ArcGIS/rest/services/DOE/BikelaneComment/FeatureServer/0</a>"/> </esri:Map> </s:BorderContainer></s:Application>

Steps to Reproduce

Bug ID: NIM078037

Software:

  • ArcGIS API for Flex

Get notified when the status of a bug changes

Download the Esri Support App

Discover more on this topic

Get help from ArcGIS experts

Contact technical support

Download the Esri Support App

Go to download options