<?xml version="1.0" encoding="utf-8"?> <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:mx="library://ns.adobe.com/flex/mx" xmlns:ags="http://www.esri.com/2008/ags"> <!-- Adobe Flex SDK 4.5.1 --> <!-- ArcGIS API for Flex 2.5 --> <s:layout> <s:HorizontalLayout gap="5" paddingBottom="10" paddingLeft="20" paddingRight="20" paddingTop="20"/> </s:layout> <fx:Script> <![CDATA[ import com.esri.ags.events.LayerEvent; import com.esri.ags.layers.Layer; import mx.collections.ArrayCollection; import spark.events.IndexChangeEvent; [Bindable] private var layersList:ArrayCollection = new ArrayCollection(); protected function onLayerLoad(event:LayerEvent):void { layersList.addItem(event.layer); if (layersList.length == 1) { ddlLayers.selectedIndex = 0; ddlLayers.dispatchEvent(new IndexChangeEvent(IndexChangeEvent.CHANGE, false, false, -1, 0)); } } protected function onLayerSelectionChange(event:IndexChangeEvent):void { for each (var layer:Layer in myMap.layers) { if (layer == ddlLayers.selectedItem) { layer.visible = true; layer.validateNow(); myLegend.map = myMap; myLegend.respectCurrentMapScale = true; myLegend.layers = new Array(layer); } else if (layer is ArcGISDynamicMapServiceLayer) { layer.visible = false; } } } ]]> </fx:Script> <ags:Map id="myMap"> <ags:ArcGISTiledMapServiceLayer id="baseLayer" url="http://server.arcgisonline.com/ArcGIS/rest/services/World_Topo_Map/MapServer"/> <ags:ArcGISDynamicMapServiceLayer id="layer1" load="onLayerLoad(event)" imageFormat="png32" name="Events" url="http://sampleserver5.arcgisonline.com/ArcGIS/rest/services/LocalGovernment/Events/MapServer" /> <ags:ArcGISDynamicMapServiceLayer id="layer2" load="onLayerLoad(event)" imageFormat="png32" name="Recreation" url="http://sampleserver5.arcgisonline.com/ArcGIS/rest/services/LocalGovernment/Recreation/MapServer" /> <ags:ArcGISDynamicMapServiceLayer id="layer3" load="onLayerLoad(event)" imageFormat="png32" name="Geology" url="http://sampleserver5.arcgisonline.com/ArcGIS/rest/services/Energy/Geology/MapServer" /> </ags:Map> <s:VGroup gap="5" paddingLeft="5" paddingTop="5" paddingRight="5" paddingBottom="5" height="100%" width="100%"> <s:DropDownList id="ddlLayers" minWidth="200" dataProvider="{layersList}" labelField="name" change="onLayerSelectionChange(event)"/> <s:Scroller height="100%"> <s:Group height="100%"> <ags:Legend id="myLegend" /> </s:Group> </s:Scroller> </s:VGroup> </s:Application>
Angemeldete Mitglieder können Beiträge verfassen, Updates folgen und mehr. Neu hier? Registriere ein kostenloses Konto.
Find useful guides, FAQs, and documents to help you navigate and make the most of Esri Community.