<?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" minWidth="955" minHeight="600" xmlns:esri="http://www.esri.com/2008/ags"> <fx:Declarations> <esri:SimpleFillSymbol id="mySymbol" alpha="1" color="0xff0000" style="solid"> <esri:SimpleLineSymbol width="1" alpha="1" color="0x000000" style="solid"/> </esri:SimpleFillSymbol> </fx:Declarations> <fx:Script> <![CDATA[ import com.esri.ags.geometry.MapPoint; import com.esri.ags.events.GraphicEvent; import com.esri.ags.events.LayerEvent; import com.esri.ags.geometry.Extent; import com.esri.ags.utils.GraphicUtil; import mx.collections.ArrayCollection; private function initApp():void{ //if(FlexGlobals.topLevelApplication.parameters.ward_number != undefined){ fLayer.definitionExpression = "Ward_No = 192"; //+ FlexGlobals.topLevelApplication.parameters.ward_number; //} fLayer.addEventListener(LayerEvent.UPDATE_END, zoomToExtent); fLayer.refresh(); } private function zoomToExtent(event: Event) : void { fLayer.removeEventListener(LayerEvent.UPDATE_END, zoomToExtent); fLayer = event.currentTarget as FeatureLayer; var graphicProvider:ArrayCollection = fLayer.graphicProvider as ArrayCollection; var graphicsExtent:Extent = GraphicUtil.getGraphicsExtent(graphicProvider.toArray()); if(graphicsExtent){ myMap.extent = graphicsExtent.expand(1.1); fLayer.refresh(); }else if (graphicProvider.length == 1){ var mapPoint:MapPoint = graphicProvider[0].geometry as MapPoint; myMap.zoom(1 / 16, mapPoint); } } protected function fLayer_graphicAddHandler(event:GraphicEvent):void { // TODO Auto-generated method stub } ]]> </fx:Script> <esri:Map id="myMap"> <esri:extent> <esri:Extent xmax="77.7843275260001" xmin="77.4601488560001" ymax="13.1465311620001" ymin="12.8337825080001"> <esri:SpatialReference wkid="4326"/> </esri:Extent> </esri:extent> <esri:FeatureLayer id="fLayer" graphicAdd="fLayer_graphicAddHandler(event)" load="{initApp()}" symbol="{mySymbol}" mode="snapshot" outFields="[Ward_No,Ward_Name]" url="http://124.153.103.152/ArcGIS/rest/services/Find_your_Ward/MapServer/0"/> </esri:Map> </s:Application>
private function locateBoundary(event:Event) : void { layerCOUNTIES.definitionExpression = "STATE = '" + (event.currentTarget as TextArea).data.STATEFP + "'"; } private function zoomToExtent(event: Event) : void { var graphicProvider:ArrayCollection = layerCOUNTIES.graphicProvider as ArrayCollection; var graphicsExtent:Extent = GraphicUtil.getGraphicsExtent(graphicProvider.toArray()); mainMap.extent = graphicsExtent.expand(1.1); // zoom out a little } <esri:FeatureLayer id="layerCOUNTIES" visible="false" useAMF="false" symbol="{featurePolySym}" useHandCursor="true" buttonMode="true" mode="snapshot" outFields="[NAME,COUNTY,STATE]" alpha="0.6" updateEnd="zoomToExtent(event)" graphicAdd="featureLayerGraphicAddHandler(event)" />
Les membres connectés peuvent publier, suivre les mises à jour, et plus encore. Nouveau ici ? Inscrivez-vous gratuitement.
Find useful guides, FAQs, and documents to help you navigate and make the most of Esri Community.