<?xml version="1.0" encoding="utf-8"?> <s:View xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" title="Map" xmlns:esri="http://www.esri.com/2008/ags" xmlns:mx="library://ns.adobe.com/flex/mx" creationComplete="init()"> <fxeclarations> <s:HTTPService id="srv" url="xml/properties.xml" result="resultHandler(event)"/> <esri:GeometryService id="geometryService" url="http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/Geometry/GeometryServer"/> </fxeclarations> <fx:Script> <=!=[=C=D=A=T=A=[ import com.esri.ags.Graphic; import com.esri.ags.SpatialReference; import com.esri.ags.events.GeometryServiceEvent; import com.esri.ags.geometry.Geometry; import com.esri.ags.geometry.MapPoint; import com.esri.ags.layers.GraphicsLayer; import mx.collections.ArrayCollection; import mx.rpc.events.ResultEvent; [Bindable] private var watdata:ArrayCollection; private var myObject:Object; private var latlong:Number; private var stName:String; private var point:Geometry; private var attrib:String; private var graphicsLayer:GraphicsLayer; private function init():void{ graphicsLayer = new GraphicsLayer; graphicsLayer.name = "pointgra"; map.addLayer(graphicsLayer); srv.send(); } private function resultHandler(event:ResultEvent):void{ watdata = event.result.properties.data; var gArr:Array = []; var graphics:Array = []; for each (myObject in data) { latlong = Number(myObject.point.toString()); stName = myObject.name.toString(); attrib = {sName:stName}; point = new MapPoint(latlong, new SpatialReference(102100)); var uGraphic:Graphic = new Graphic (point, attrib); gArr.push(point); graphics.push(uGraphic); } var outSR:SpatialReference = new SpatialReference(3857); geometryService.project(gArr, outSR, new AsyncResponder(projectCompleteHandler, null, graphics)); } protected function projectCompleteHandler(result:Object, token:Object):void { var pRslts:Array = result as Array; for (var pg:int = 0; pg < pRslts.length; pg++){ var pGeom:Geometry = pRslts[pg]; token[pg].geometry = pGeom; } graphicsLayer.graphicProvider = token; graphicsLayer.addEventListener(TouchEvent.TOUCH_OVER, tover); graphicsLayer.addEventListener(TouchEvent.TOUCH_OUT, tout); } private function tover(event:TouchEvent):void{ var graphic:Graphic = event.target as Graphic; graphic.toolTip = graphic.attributes.sName.toString(); } private function tout(event:TouchEvent):void{ var graphic:Graphic = event.target as Graphic; } ]=]=> </fx:Script> <s:navigationContent> <s:Button width="75" height="50" click="navigator.popView()" icon="assets/back.png"/> </s:navigationContent> <esri:Map id="map" width="100%" height="100%" logoVisible="true" navigationClass="{null}" zoomSliderVisible="true" openHandCursorVisible="false" scale="50000000"> <esri:ArcGISTiledMapServiceLayer url="http://services.arcgisonline.com/ArcGIS/rest/services/World_Street_Map/MapServer"/> <esri:extent> <esri:Extent xmin="-467799" ymin="5253018" xmax="2171419" ymax="6627661"/> </esri:extent> </esri:Map> </s:View>
private function init():void { graphicsLayer = new GraphicsLayer; map.addLayer(graphicsLayer); srv.send(); } private function resultHandler(event:ResultEvent):void { myXML = event.result.myXML.entry; var gArr:Array = []; var graphics:Array = []; for each (myObject in data) { latlong = Number(myObject.point.toString()); myPoint = new MapPoint(latlong); var uGraphic:Graphic = new Graphic (myPoint); gArr.push(myPoint); graphics.push(uGraphic); } var outSR:SpatialReference = new SpatialReference(3857); geometryService.project(gArr, outSR, new AsyncResponder(projectCompleteHandler, null, graphics)); } protected function projectCompleteHandler(result:Object, token:Object):void { var pRslts:Array = result as Array; for (var pg:int = 0; pg < pRslts.length; pg++){ var pGeom:Geometry = pRslts[pg]; token[pg].geometry = pGeom; } graphicsLayer.graphicProvider = token; }
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.