Projecting points from arraycollection

349
1
03-02-2012 12:22 AM
sherlytobias
New Contributor
I can't project my points from an xml file. Im not getting any error so I don't know what am I doing wrong. Please help.

<?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" creationComplete="init()" xmlns:esri="http://www.esri.com/2008/ags">
 
 <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.feed.entry);
    for each (var node:XML in x);
    {
     var latlong:Array = node.point.toString().split(" ");
     var myPoint:Geometry = new MapPoint(latlong[0], latlong[1], new SpatialReference(4326));
     
     var coordGraphic:Graphic = new Graphic(myPoint);
     
     gArr.push(myPoint);
     myGraphics.push(coordGraphic);
    }
     var outSR:SpatialReference = new SpatialReference(4326);
     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"
        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>
Tags (2)
0 Kudos
1 Reply
RobertScheitlin__GISP
MVP Emeritus
Sherly,

   You are defining the spatial refrence of your points as 4326 and then setting the out spatial reference to 4326 as well...

This code has been fixed in my reply to your other post.

Don't forget to click the Mark as answer check and to click the top arrow (promote) as shown below:
0 Kudos