Hi Nader,If you are just trying to click on map and buffer, it will be much easier to look into Geometry Services. There is a simple example on the Flex Sample on ESRI web page. However if you are doing some complex processes, you will need to either code it in flex or stick to GP. Hope this help.
<!-- Flex 1.3 Code -->
<?xml version="1.0" encoding="utf-8"?>
<mx:Application
xmlns:mx="http://www.adobe.com/2006/mxml"
xmlns:esri="http://www.esri.com/2008/ags"
layout="absolute"
pageTitle="Buffer using the Geometry Service"
>
<mx:Script>
<![CDATA[
import com.esri.ags.SpatialReference;
import com.esri.ags.events.GeometryServiceEvent;
import com.esri.ags.tasks.BufferParameters;
import com.esri.ags.Graphic;
import com.esri.ags.geometry.MapPoint;
import com.esri.ags.events.PanEvent;
//mousedown event
private function mouseClickHandler(event:MouseEvent):void
{
if (!event.shiftKey)
{
myMap.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler);
}
}
private function mouseDownHandler(event:MouseEvent):void
{
myMap.removeEventListener(MouseEvent.MOUSE_UP, mouseDownHandler);
var myMapCenterPoint:Graphic = new Graphic();
myMapCenterPoint.geometry = myMap.toMapFromStage(event.stageX, event.stageY);
var bufferParameters : BufferParameters = new BufferParameters();
bufferParameters.features = [myMapCenterPoint];
bufferParameters.distances = [100,200,600];
bufferParameters.unit = BufferParameters.UNIT_FOOT
bufferParameters.bufferSpatialReference = new SpatialReference(2230);
myGeometryService.addEventListener(GeometryServiceEvent.BUFFER_COMPLETE, bufferCompleteHandler);
myGeometryService.buffer( bufferParameters );
function bufferCompleteHandler( event : GeometryServiceEvent ) : void
{
myGeometryService.removeEventListener(GeometryServiceEvent.BUFFER_COMPLETE, bufferCompleteHandler);
for each ( var graphic : Graphic in event.graphics )
{
graphic.symbol = sfs;
myGraphicsLayer.add( graphic );
}
}
}
public function deactivate():void
{
myMap.removeEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler);
}
]]>
</mx:Script>
<esri:SimpleFillSymbol id="sfs" color="0xFF0000">
<esri:SimpleLineSymbol color="0x000000"/>
</esri:SimpleFillSymbol>
<esri:GeometryService id="myGeometryService"
url="http://sampleserver2.arcgisonline.com/ArcGIS/rest/services/Geometry/GeometryServer"/>
<mx:Panel width="100%" height="100%">
<mx:ControlBar>
<mx:Button label="Buffer Center Of Map" mouseUp="mouseClickHandler(event)" id="btnBuffer" toolTip="Draw a Polygon"/>
<mx:Button label="Deactivate" width="103" id="btnDeactivate" click="deactivate()"/>
</mx:ControlBar>
<esri:Map id="myMap" >
<esri:ArcGISDynamicMapServiceLayer
url="http://.../ArcGIS/rest/services/....../MapServer"/>
<esri:GraphicsLayer id="myGraphicsLayer"/>
</esri:Map>
</mx:Panel>
</mx:Application>