<?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>
サインインしたメンバーは投稿、更新のフォローなどができます。初めてですか?無料アカウントを登録してください。
Find useful guides, FAQs, and documents to help you navigate and make the most of Esri Community.