<?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:Script>
<![CDATA[
import com.esri.ags.Graphic;
import com.esri.ags.SpatialReference;
import com.esri.ags.events.MapMouseEvent;
import com.esri.ags.geometry.Geometry;
import com.esri.ags.geometry.MapPoint;
import mx.rpc.AsyncResponder;
import spark.components.TextArea;
protected function myMap_mapClickHandler(event:MapMouseEvent):void
{
var mynewgraphic:Graphic = new Graphic(event.mapPoint);
var spatialrefrence:SpatialReference = new SpatialReference(4236); //输出新参考坐标系
myGraphicsLayer.clear();
myGeometryService.project([event.mapPoint],spatialrefrence,new AsyncResponder(onok,onerr,event.mapPoint))
myGraphicsLayer.add(mynewgraphic);
}
protected function onok(projectLastResult:Array,graphic:MapPoint):void
{
var newpoint:MapPoint = projectLastResult[0] as MapPoint;
var textbox:TextArea = new TextArea();
textbox.text ="地图参考坐标系:/nX_"+graphic.x+"/nY_"+graphic.y+"/n新参考坐标系:/n_X"+newpoint.x+"/nY_"+newpoint.y;
myMap.infoWindow.content = textbox;//调用map对象的infwindow
myMap.infoWindow.show(graphic);
}
protected function onerr(projectLastResult:Object,graphic:Geometry):void
{
}
]]>
</fx:Script>
<fx:Declarations>
<!-- Place non-visual elements (e.g., services, value objects) here -->
<esri:GeometryService id="myGeometryService" concurrency="last" url="http://sampleserver3.arcgisonline.com/ArcGIS/rest/services/Geometry/GeometryServer" />
</fx:Declarations>
<esri:Map id="myMap" mapClick="myMap_mapClickHandler(event)">
<esri:ArcGISTiledMapServiceLayer url="http://server.arcgisonline.com/ArcGIS/rest/services/World_Street_Map/MapServer" />
<esri:GraphicsLayer id="myGraphicsLayer">
<esri:symbol>
<esri:SimpleMarkerSymbol alpha="0.9"
color="0xFFFF00"
size="12"
style="square">
</esri:SimpleMarkerSymbol>
</esri:symbol>
</esri:GraphicsLayer>
</esri:Map>
</s:Application>