1. Create a map and create the load response function inittoolbar.
Map = new map ("map", {basemap: "Streets", center: [-111.5, 39.541], Zoom: 7}); map. on ("LOAD", inittoolbar );
2. inittoolbar function, which enables the draw object and responds to the dobuffer function when the draw-end event is triggered.
Function inittoolbar (evtobj) {app. TB = new draw (evtobj. Map); app. TB. On ("Draw-end", dobuffer );}
3. dobuffer
Function dobuffer (evtobj) {var geometry = evtobj. geometry, map = app. map, gsvc = app. gsvc; Switch (geometry. type) {Case "point": var symbol = new simplemarkersymbol (simplemarkersymbol. style_square, 10, new simplelinesymbol (simplelinesymbol. style_solid, new color ([255, 0, 0]), 1), new color ([0,255, 0, 0.25]); break; Case "polyline ": vaR symbol = new simplelinesymbol (simplelinesymbol. style_dash, new color ([255, 0, 0]), 1); break; Case "polygon": var symbol = new simplefillsymbol (simplefillsymbol. style_none, new simplelinesymbol (simplelinesymbol. style_dashdot, new color ([255, 0, 0]), 2), new color ([255,255, 0, 0.25]); break ;} vaR graphic = new graphic (geometry, symbol); map. graphics. add (graphic); // setup the buffer parameters var Params = new bufferparameters (); Params. distances = [Dom. byid ("distance "). value]; Params. bufferspatialreference = new ESRI. spatialreference ({wkid: Dom. byid ("bufferspatialreference "). value}); Params. outspatialreference = map. spatialreference; Params. unit = geometryservice [Dom. byid ("unit "). value]; If (geometry. type = "polygon") {// If geometry is a polygon then simplify polygon. this will make the user drawn polygon topologically correct. gsvc. simplify ([geometry], function (geometries) {Params. geometries = geometries; gsvc. buffer (Params, showbuffer) ;}) ;}else {Params. geometries = [geometry]; gsvc. buffer (Params, showbuffer) ;}} function showbuffer (bufferedgeometries) {var symbol = new simplefillsymbol (simplefillsymbol. style_solid, new simplelinesymbol (simplelinesymbol. style_solid, new color ([255, 0, 0, 0.65]), 2), new color ([255, 0, 0, 0.35]); array. foreach (bufferedgeometries, function (geometry) {var graphic = new graphic (geometry, symbol); app. map. graphics. add (graphic) ;}); app. TB. deactivate (); app. map. showzoomslider ();}