<?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)" />
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.