laptop and a wrench

漏洞

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

上次发布: August 25, 2014 ArcGIS API for Flex
漏洞 ID 编号 NIM078037
已提交February 9, 2012
上次修改时间June 5, 2024
适用范围ArcGIS API for Flex
找到的版本2.5
修正版本3.0
状态Fixed

解决办法

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>

重现步骤

漏洞 ID: NIM078037

软件:

  • ArcGIS API for Flex

当漏洞状态发生变化时获得通知

下载 Esri 支持应用程序

发现关于本主题的更多内容

获取来自 ArcGIS 专家的帮助

联系技术支持部门

下载 Esri 支持应用程序

转至下载选项