<?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:esri="http://www.esri.com/2008/ags" pageTitle="Map Extent and Mouse Coordinates" creationComplete="combobox()"> <fx:Script> <![CDATA[ import mx.collections.ArrayCollection; private function combobox():void { var comboArray:ArrayCollection = new ArrayCollection(); comboArray = comm_layer.layerInfos.Communities_Places //the specific layer in the map service cmb.dataProvider = comboArray; cmb.labelField = comboArray.comm_name_ //field within the Communities_Places layer } ]]> </fx:Script> <s:layout> <s:VerticalLayout paddingTop="6"/> </s:layout> <s:HGroup> <s:ComboBox id="cmb" right="250"/> </s:HGroup> <esri:Map id="myMap"> <esri:extent> <esri:Extent xmin="-13338986.2116637" ymin="3926661.77417242" xmax="-13002755.460699" ymax="4152028.76378653"> <esri:SpatialReference wkid="3857"/> </esri:Extent> </esri:extent> <esri:ArcGISDynamicMapServiceLayer id="comm_layer" url="http://10.2.8.73/ArcGIS/rest/services/ZNET_Public/city_maskForExtent/MapServer"/> </esri:Map> </s:Application>
Dasa,I used the code you posted with a point layer. I get weird results with the zoom... does the code work for a point layer or just for a polygon layer?june
<layer> <layerurl>http://gis.rksk.dk/ArcGIS/rest/services/AdresseLokalplan/MapServer/0</layerurl> <layeroutfield>ADR_NR_POST</layeroutfield> <layerzoomscale>1500</layerzoomscale> </layer>
var lyrList:XMLList = configXML..layer; for (var i:int = 0; i < lyrList.length(); i++) { layerURL = lyrList.layerurl; layerOutField = lyrList.layeroutfield; layerZoomScale = lyrList.layerzoomscale; var comboQueryTask:QueryTask = new QueryTask(); comboQueryTask.url = layerURL; comboQueryTask.useAMF = false; var comboQuery:Query = new Query(); comboQuery.returnGeometry = true; comboQuery.where = "1=1"; comboQuery.outFields = [layerOutField]; comboQuery.outSpatialReference = map.spatialReference; comboQueryTask.execute(comboQuery); comboQueryTask.addEventListener(QueryEvent.EXECUTE_COMPLETE, onQueryComplete); } private function onQueryComplete(event:QueryEvent):void { var featureSet:FeatureSet = event.featureSet; for each (var graphic:Graphic in featureSet.features) { var fieldValue:String = graphic.attributes[layerOutField].toString(); results.addItem({label: fieldValue, data: graphic}); } var graphicsExtent:Extent = GraphicUtil.getGraphicsExtent(featureSet.features); commExtent = graphicsExtent; }
<?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:esri="http://www.esri.com/2008/ags" pageTitle="Map Extent and Mouse Coordinates" creationComplete="combobox()"> <fx:Script> <![CDATA[ import com.esri.ags.FeatureSet; import com.esri.ags.Graphic; import com.esri.ags.events.QueryEvent; import com.esri.ags.tasks.QueryTask; import com.esri.ags.tasks.supportClasses.Query; import com.esri.ags.utils.GraphicUtil; import mx.collections.ArrayCollection; private function combobox():void { var comboQueryTask:QueryTask = new QueryTask(); comboQueryTask.url = "http://10.2.8.73/ArcGIS/rest/services/ZNET_Public/city_mask/MapServer/0"; comboQueryTask.useAMF = false; var comboQuery:Query = new Query(); comboQuery.returnGeometry = true; comboQuery.where = "1=1"; comboQuery.outFields = ["CITY_COMM_"]; comboQuery.outSpatialReference = myMap.spatialReference; comboQueryTask.execute(comboQuery); comboQueryTask.addEventListener(QueryEvent.EXECUTE_COMPLETE, onQueryComplete); } private var commExtent:Extent = new Extent(); private function onQueryComplete(event:QueryEvent):void { var featureSet:FeatureSet = event.featureSet; var results:ArrayCollection = new ArrayCollection(); for each (var graphic:Graphic in featureSet.features) { var fieldValue:String = graphic.attributes["CITY_COMM_"].toString(); results.addItem({label: fieldValue, data: graphic}); } cmb.labelField = "label"; cmb.dataProvider = results; var graphicsExtent:Extent = GraphicUtil.getGraphicsExtent(featureSet.features); commExtent = graphicsExtent; } private function change():void { var extent2:Extent = Graphic(cmb.selectedItem).geometry.extent; myMap.extent = extent2; } ]]> </fx:Script> <s:layout> <s:VerticalLayout paddingTop="6"/> </s:layout> <s:HGroup> <s:ComboBox id="cmb" right="250" change="change()" width="350" selectedItem="{{label:'Select Your Community'}}"/> </s:HGroup> <esri:Map id="myMap"> <esri:extent> <esri:Extent xmin="-13338986.2116637" ymin="3926661.77417242" xmax="-13002755.460699" ymax="4152028.76378653"> <esri:SpatialReference wkid="3857"/> </esri:Extent> </esri:extent> <esri:ArcGISDynamicMapServiceLayer id="comm_layer" url="http://10.2.8.73/ArcGIS/rest/services/ZNET_Public/city_maskForExtent/MapServer"/> </esri:Map> </s:Application>
<?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:esri="http://www.esri.com/2008/ags"> <fx:Script> <![CDATA[ import com.esri.ags.Graphic; import com.esri.ags.events.MapEvent; import com.esri.ags.events.QueryEvent; import com.esri.ags.geometry.Extent; import com.esri.ags.tasks.supportClasses.Query; import mx.collections.ArrayList; import spark.events.IndexChangeEvent; protected function map_loadHandler(event:MapEvent):void { var query:Query = new Query(); query.outFields = [ "STATE_NAME" ]; query.outSpatialReference = map.spatialReference; query.returnGeometry = true; query.where = "1=1"; queryTask.execute(query); } protected function queryTask_executeCompleteHandler(event:QueryEvent):void { ddList.dataProvider = new ArrayList(event.featureSet.features); } protected function ddListLabelFunction(item:Graphic):String { return item.attributes["STATE_NAME"]; } protected function ddList_changeHandler(event:IndexChangeEvent):void { var stateExtent:Extent = Graphic(ddList.selectedItem).geometry.extent; map.extent = stateExtent // make sure the whole extent is visible if (!map.extent.contains(stateExtent)) { map.level--; } } ]]> </fx:Script> <fx:Declarations> <esri:QueryTask id="queryTask" executeComplete="queryTask_executeCompleteHandler(event)" showBusyCursor="true" url="http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/Demographics/ESRI_Census_USA/MapServer/5" useAMF="false"/> </fx:Declarations> <s:controlBarContent> <s:DropDownList id="ddList" width="200" change="ddList_changeHandler(event)" labelFunction="ddListLabelFunction" prompt="Choose a state to zoom to"/> </s:controlBarContent> <esri:Map id="map" load="map_loadHandler(event)"> <esri:ArcGISTiledMapServiceLayer url="http://server.arcgisonline.com/ArcGIS/rest/services/World_Street_Map/MapServer"/> </esri:Map> </s:Application>
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.