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; }
Solved! Go to Solution.
<?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" xmlns:esri="http://www.esri.com/2008/ags" title="Map" creationComplete="init()" > <fx:Script> <![CDATA[ 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 mx.collections.ArrayCollection; import mx.rpc.AsyncResponder; import mx.rpc.events.ResultEvent; private function init():void { pointsXML.send(); } protected function pointsXML_resultHandler(event:ResultEvent):void { var gArr:Array = []; var myGraphics:Array = []; var x:XML = XML(event.result); var pntList:XMLList = x..entry; for (var i:int = 0; i < pntList.length(); i++){ var latlong:Array = pntList.point.split(" "); var myPoint:Geometry = new MapPoint(latlong[1], latlong[0], new SpatialReference(4326)); var coordGraphic:Graphic = new Graphic(myPoint); gArr.push(myPoint); myGraphics.push(coordGraphic); } var outSR:SpatialReference = new SpatialReference(3857); geometryService.project(gArr, outSR, new AsyncResponder(projectCompleteHandler, null, myGraphics)); } 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; } ]]> </fx:Script> <fx:Declarations> <s:HTTPService id="pointsXML" resultFormat="text" url="xml/properties.xml" result="pointsXML_resultHandler(event)"/> <esri:GeometryService id="geometryService" url="http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/Geometry/GeometryServer"/> </fx:Declarations> <s:navigationContent> <s:Button width="80" height="70" click="navigator.popView()" icon="assets/backbutton.png"/> </s:navigationContent> <esri:Map id="map"> <esri:extent> <esri:Extent xmin="-467799" ymin="5253018" xmax="2171419" ymax="6627661"/> </esri:extent> <esri:ArcGISTiledMapServiceLayer url="http://services.arcgisonline.com/ArcGIS/rest/services/World_Street_Map/MapServer"/> <esri:GraphicsLayer id="graphicsLayer"> <esri:symbol> <esri:SimpleMarkerSymbol alpha="0.9" color="0xFFFF00" size="12" style="square"> <esri:SimpleLineSymbol color="0xDD0000" width="2" alpha="1" style="solid"/> </esri:SimpleMarkerSymbol> </esri:symbol> </esri:GraphicsLayer> </esri:Map> </s:View>