I change the sample for measuring distance. I have detach the function for measure activating from init function and add function to disable measure. To init function I have added: geometryService = new esri.tasks.GeometryService("http://server/Geometry/GeometryServer"); dojo.connect(geometryService, "onLengthsComplete", outputDistance); dojo.connect(geometryService, "onProjectComplete", function(graphics) { //call GeometryService.lengths() with projected geometry geometryService.lengths(graphics); }); Separate functions for activatig measure and listeners: function initGeometrie(map) { // nastartuje mereni vzdalenosti, start measure of geometry tb = new esri.toolbars.Draw(map); dojo.connect(tb, "onDrawEnd", function measuregeom(geometry) { map.graphics.clear(); var graphic = map.graphics.add(new esri.Graphic(geometry, new esri.symbol.SimpleLineSymbol())); geometryService.project([graphic],new esri.SpatialReference({"wkid":102067})); }); tb.activate(esri.toolbars.Draw.LINE); } function outputDistance(result) { dojo.byId("distance").innerHTML = dojo.number.format(result.lengths[0] ) + " metrů"; } function for deactivating measure: function disconGeometrie(){ // stop measure of geometry tb.deactivate(); } Then you call function initGeometrie(map) and disconGeometrie() from HTML code.
... View more