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