//functions for measurement function closeMeasure () { console.log ("closeMeasure"); measureActive = false; dojo.disconnect(measureHandler); dojo.disconnect(measureAreaHandler); dojo.disconnect(measureLengthHandler); measureTb.deactivate(); map.graphics.clear(); identifyHandler = dojo.connect(map, 'onClick' , doIdentify); } function openGeomMeasure () { measureActive = true; map.graphics.clear(); measureAreaHandler = dojo.connect(geomService, "onAreasAndLengthsComplete", outputAreaAndLength); measureLengthHandler =dojo.connect(geomService, "onLengthsComplete", outputLength); var measureError = dojo.connect(geomService, "onError" , measureErrHandler); var fp = dijit.byId('floater_GeomMeasure'); if ((fp.style =="visibility: hidden;") || (fp.style="VISIBILITY:hidden;")) { fp.style.visibility="visible"; fp.show(); } measureHandler = dojo.connect(measureTb, "onDrawEnd", getAreaAndLength); } function getAreaAndLength(geometry) { map.graphics.clear(); var graphic = map.graphics.add(new esri.Graphic(geometry, highlightFillSymbol)); var geoType = geometry.type; if (geoType == 'polygon') { //setup the parameters for the areas and lengths operation var areasAndLengthParams = new esri.tasks.AreasAndLengthsParameters(); areasAndLengthParams.areaUnit = esri.tasks.GeometryService.UNIT_ACRES; geomService.simplify([geometry], function(simplifiedGeometries) { areasAndLengthParams.polygons = simplifiedGeometries; geomService.areasAndLengths(areasAndLengthParams); }); }else { var lengthParams = new esri.tasks.LengthsParameters(); lengthParams.lengthUnit = esri.tasks.GeometryService.UNIT_FOOT; lengthParams.geodesic = true; geomService.simplify([geometry], function(simplifiedGeometries) { lengthParams.polylines = simplifiedGeometries; geomService.lengths(lengthParams); }); } } function measureErrHandler (error) { console.log ("MeasureErrHandler = " + error); } function outputAreaAndLength(result) { console.log(dojo.toJson(result)); dojo.byId("measureText").innerHTML = "<b>Area: </b> " + result.areas[0].toFixed(2) + " Acres"; // dojo.byId('distanceDetails').innerHTML = distance; } function outputLength (result) { console.log(dojo.toJson(result)); dojo.byId("measureText").innerHTML = "<b>Length: </b> :" + result.lengths[0].toFixed(2) + " Feet"; } function startAreaMeasure () { measureActive = true; measureTb.deactivate(); measureTb.activate(esri.toolbars.Draw.POLYGON); dojo.byId("measureText").innerHTML = ""; } function startDistanceMeasure () { measureActive = true; measureTb.deactivate(); measureTb.activate(esri.toolbars.Draw.POLYLINE); dojo.byId("measureText").innerHTML = ""; }
Solved! Go to Solution.
var minNode = dojo.query('#floater_GeomMeasure .dojoxFloatingMinimizeIcon')[0]; dojo.connect(minNode, "onclick", function(e){ // console.log("dojo connect minNode onClick"); closeMeasure(); });
dojo.connect (dijit.byId('floater_GeomMeasure'), "onHide", closeMeasure);
var myfloatingPane = dijit.byId('myFloatingPane'); dojo.connect(myfloatingPane.closeNode, "onclick", function (e) { //Call your function here for deactivating measure toolbar };
<a class="hide" dojoattachpoint="_hide" dojoattachevent="onclick:hide" style="margin-left: 303px; "><div class="sprite"></div></a>
dojo.connect(map.infoWindow._hide, "onclick", function(){ //your code here for handling the close button click. });
var minNode = dojo.query('#tools-measure-floating-pane .dojoxFloatingMinimizeIcon')[0]; dojo.attr(minNode, 'onclick', 'app.tools.measure.clear()');
var minNode = dojo.query('#floater_GeomMeasure .dojoxFloatingMinimizeIcon')[0]; dojo.connect(minNode, "onclick", function(e){ // console.log("dojo connect minNode onClick"); closeMeasure(); });
It worked in IE 8, which is still our default browser.