override protected function commitProperties():void { super.commitProperties(); var featureLayer:FeatureLayer = hostComponent.featureLayer; var formattedAttributes:Object = hostComponent.formattedAttributes; var graphic:Graphic = hostComponent.graphic; var map:Map = hostComponent.map; var popUpInfo:PopUpInfo = hostComponent.popUpInfo; var validMediaInfos:Array = hostComponent.validPopUpMediaInfos; var geometry:Geometry = graphic ? graphic.geometry : null; var layerDetails:LayerDetails = featureLayer ? featureLayer.layerDetails : null; vGroup.removeAllElements(); vGroup.addElement(ToggleLayers); if (popUpInfo) { if (popUpInfo.title) { titleText.text = StringUtil.substitute(popUpInfo.title, formattedAttributes); if (titleText.text) { vGroup.addElement(titleText); vGroup.addElement(titleLine); } } var htmlText:String; if (popUpInfo.description) { htmlText = StringUtil.substitute(popUpInfo.description, formattedAttributes); if (htmlText) { var descriptionText:Text = new PopUpText(); descriptionText.percentWidth = 100; descriptionText.styleSheet = textStyleSheet; cleanAndSetHtmlText(descriptionText, htmlText); trace(descriptionText.htmlText); vGroup.addElement(descriptionText); } } else { var descriptionForm:Form; for each (var fieldInfo:PopUpFieldInfo in popUpInfo.popUpFieldInfos) { if (fieldInfo.visible) { var formItem:FormItem = new FormItem(); formItem.label = fieldInfo.label || fieldInfo.fieldName; var label:Label; htmlText = formattedAttributes[fieldInfo.fieldName]; if (htmlText) { // convert attribute field values that just contain URLs into links var match:Array = htmlText.match(/^\s*((https?|ftp):\/\/\S+)\s*$/i); if (match && match.length > 0) { label = new Label(); htmlText = '<a href="' + match[1] + '" target="_blank">' + match[1] + "</a>"; } else { label = new PopUpText(); } cleanAndSetHtmlText(label, htmlText); label.selectable = true; label.styleSheet = this.textStyleSheet; label.width = 150; formItem.addChild(label); } if (!descriptionForm) { descriptionForm = new Form(); descriptionForm.percentWidth = 100; descriptionForm.horizontalScrollPolicy = ScrollPolicy.OFF; descriptionForm.verticalScrollPolicy = ScrollPolicy.OFF; descriptionForm.styleName = "formStyle"; } descriptionForm.addChild(formItem); } } if (descriptionForm) { vGroup.addElement(descriptionForm); } } if (validMediaInfos && validMediaInfos.length > 0) { vGroup.addElement(mediaBrowser); mediaBrowser.attributes = graphic.attributes; mediaBrowser.formattedAttributes = formattedAttributes; mediaBrowser.popUpFieldInfos = popUpInfo.popUpFieldInfos; mediaBrowser.popUpMediaInfos = validMediaInfos; } if (popUpInfo.showAttachments && graphic && featureLayer && layerDetails && layerDetails.hasAttachments && layerDetails.objectIdField) { vGroup.addElement(attachmentInspector); attachmentInspector.showAttachments(graphic, featureLayer); } if (map && geometry) { vGroup.addElement(zoomToButton); } } } protected function layerRBgroup_changeHandler(event:Event):void { var map:Map = hostComponent.map; map.getLayer("Public Safety").visible = !map.getLayer("Public Safety").visible; map.getLayer("Bridges").visible = !map.getLayer("Bridges").visible; } ]]> </fx:Script> <fx:Declarations> <!--- @private --> <mx:Text id="titleText" width="100%" fontWeight="bold"/> <!--- @private --> <s:Line id="titleLine" width="100%"> <s:stroke> <s:SolidColorStroke id="titleLineSymbol" color="black" weight="1"/> </s:stroke> </s:Line> <!--- @private --> <supportClasses:PopUpMediaBrowser id="mediaBrowser" width="100%" skinClass="com.esri.ags.skins.supportClasses.PopUpMediaBrowserSkin"/> <!--- @private --> <esri:AttachmentInspector id="attachmentInspector" width="100%" addEnabled="false" deleteEnabled="false"/> <!--- @private --> <mx:LinkButton id="zoomToButton" click="zoomToButton_clickHandler(event)" fontWeight="bold" label="{resourceManager.getString('ESRIMessages', 'zoomLabel')}"/> <!--- @private --> <s:RadioButtonGroup id="layerRBgroup" change="layerRBgroup_changeHandler(event)"/> <!--- @private --> <s:HGroup gap="6" verticalAlign="middle" id="ToggleLayers"> <s:RadioButton id="layerA" group="{layerRBgroup}" label="Toggle Layer A" selected="true"/> <s:RadioButton id="layerB" group="{layerRBgroup}" label="Toggle Layer B"/> </s:HGroup> </fx:Declarations>
Mark, First of all, In the future be sure to post Flex Viewer and/or Widget questions to the Flex Viewer forum:http://forums.arcgis.com/forums/111-ArcGIS-Viewer-for-FlexAre you talking about just toggling the visibility of those two layer?
hostComponent.parent.parent.parent.parent.addEventListener("close", infoWinClose_Handler); private function infoWinClose_Handler(event:Event):void { //your code here trace(event.type); }
Aangemelde leden kunnen berichten plaatsen, updates volgen en meer. Nieuw hier? Registreer een gratis account.
Find useful guides, FAQs, and documents to help you navigate and make the most of Esri Community.