laptop and a wrench

Bug

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

Zuletzt veröffentlicht: August 25, 2014 ArcGIS API for Flex
Bug-ID-Nummer NIM078037
EingereichtFebruary 9, 2012
Zuletzt geändertJune 5, 2024
Gilt fürArcGIS API for Flex
Gefunden in Version2.5
Behoben in Version3.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>

Schritte zur Reproduzierung

Bug-ID: NIM078037

Software:

  • ArcGIS API for Flex

Benachrichtigung erhalten, wenn sich der Status eines Bugs ändert

Esri Support App herunterladen

Weitere Informationen zu diesem Thema erkunden

Unterstützung durch ArcGIS-Experten anfordern

An den technischen Support wenden

Esri Support App herunterladen

Zu Download-Optionen wechseln