<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Need help activating buffer query with button in ArcGIS JavaScript Maps SDK Questions</title>
    <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/need-help-activating-buffer-query-with-button/m-p/112279#M10479</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;I have tried a few ways to activate my buffer query with a button, but (being a newbie), I have failed. The buffer I have set up works, but since I'm also going to have an identify button on the page, I need to have the user activate the buffer query with a button as well. Otherwise the buffer will run everytime the user clicks to identify a feature. I know how to toggle an identify task off and on, but I can't figure out how to control the buffer. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Anyhelp would be appreciated. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Here's the code&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&lt;SPAN&gt;&amp;lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="http://www.w3.org/TR/html4/strict.dtd" rel="nofollow" target="_blank"&gt;http://www.w3.org/TR/html4/strict.dtd&lt;/A&gt;&lt;SPAN&gt;"&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;html&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;head&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;meta http-equiv="Content-Type" content="text/html; charset=utf-8"/&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;meta http-equiv="X-UA-Compatible" content="IE=7" /&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;!--The viewport meta tag is used to improve the presentation and behavior of the samples &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;on iOS devices--&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;meta name="viewport" content="initial-scale=1, maximum-scale=1,user-scalable=no"/&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;title&amp;gt;QueryTask with query geometry from another task&amp;lt;/title&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&lt;SPAN&gt;&amp;lt;link rel="stylesheet" type="text/css" href="&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="http://serverapi.arcgisonline.com/jsapi/arcgis/2.1/js/dojo/dijit/themes/claro/claro.css" rel="nofollow" target="_blank"&gt;http://serverapi.arcgisonline.com/jsapi/arcgis/2.1/js/dojo/dijit/themes/claro/claro.css&lt;/A&gt;&lt;SPAN&gt;"&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&lt;SPAN&gt;&amp;lt;script type="text/javascript" src="&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="http://serverapi.arcgisonline.com/jsapi/arcgis/?v=2.1" rel="nofollow" target="_blank"&gt;http://serverapi.arcgisonline.com/jsapi/arcgis/?v=2.1&lt;/A&gt;&lt;SPAN&gt;"&amp;gt;&amp;lt;/script&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;script type="text/javascript"&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;dojo.require("esri.map");&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;dojo.require("esri.tasks.query");&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;dojo.require("esri.tasks.geometry");&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;var bufferqueryTask;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;/*Initialize map, buffer, &amp;amp; query params*/&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;function init() {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;var startExtent = new esri.geometry.Extent({"xmin":-28364141.57017,"ymin":-2803495.15887,"xmax":12597044.415,"ymax":21320884.31716,"spatialReference":{"wkid":3089}});&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;var map = new esri.Map("mapDiv", {extent:startExtent,&amp;nbsp; wrapAround180:true});&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;//listen for when map is loaded and then add query functionality&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;dojo.connect(map, "onLoad", initFunctionality);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;dojo.connect(map, "onLoad", function() {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; map.disableDoubleClickZoom();&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;});&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;//after map loads, connect to listen to mouse move &amp;amp; drag events&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dojo.connect(map, "onMouseMove", showCoordinates);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&lt;SPAN&gt;var streetMap = new esri.layers.ArcGISDynamicMapServiceLayer("&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="http://dingo.gapanalysisprogram.com/ArcGIS/rest/services/PADUS/PADUS_status/MapServer" rel="nofollow" target="_blank"&gt;http://dingo.gapanalysisprogram.com/ArcGIS/rest/services/PADUS/PADUS_status/MapServer&lt;/A&gt;&lt;SPAN&gt;");&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;map.addLayer(streetMap);&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&lt;SPAN&gt;var gap = new esri.layers.ArcGISDynamicMapServiceLayer("&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="http://dingo.gapanalysisprogram.com/ArcGIS/rest/services/PADUS/Ancillary/MapServer" rel="nofollow" target="_blank"&gt;http://dingo.gapanalysisprogram.com/ArcGIS/rest/services/PADUS/Ancillary/MapServer&lt;/A&gt;&lt;SPAN&gt;");&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;map.addLayer(gap);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;function initFunctionality(map) {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;//identify proxy page to use if the toJson payload to the geometry service is greater than 2000 characters.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;//If this null or not available the buffer operation will not work. Otherwise it will do a http post to the proxy.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;//esriConfig.defaults.io.proxyUrl = "/arcgisserver/apis/javascript/proxy/proxy.ashx";&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;//esriConfig.defaults.io.alwaysUseProxy = false;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;//esriConfig.defaults.io.proxyUrl = "/arcgisserver/proxy/proxy.ashx";&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&lt;SPAN&gt;//esriConfig.defaults.io.proxyUrl = "&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="http://www.gap.uidaho.edu/proxy_ags.jsp" rel="nofollow" target="_blank"&gt;http://www.gap.uidaho.edu/proxy_ags.jsp&lt;/A&gt;&lt;SPAN&gt;";&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&lt;SPAN&gt;esriConfig.defaults.io.proxyUrl = "&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="http://dingo.gapanalysisprogram.com/proxy/proxy.ashx" rel="nofollow" target="_blank"&gt;http://dingo.gapanalysisprogram.com/proxy/proxy.ashx&lt;/A&gt;&lt;SPAN&gt;";&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&lt;SPAN&gt;//esri.config.defaults.io.proxyUrl = "&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="http://www.gap.uidaho.edu/proxy.php" rel="nofollow" target="_blank"&gt;http://www.gap.uidaho.edu/proxy.php&lt;/A&gt;&lt;SPAN&gt;";&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;esriConfig.defaults.io.alwaysUseProxy = false;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;//Geometry Service Endpoint&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&lt;SPAN&gt;var gsvc = new esri.tasks.GeometryService("&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="http://sampleserver3.arcgisonline.com/ArcGIS/rest/services/Geometry/GeometryServer" rel="nofollow" target="_blank"&gt;http://sampleserver3.arcgisonline.com/ArcGIS/rest/services/Geometry/GeometryServer&lt;/A&gt;&lt;SPAN&gt;");&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&lt;SPAN&gt;bufferqueryTask = new esri.tasks.QueryTask("&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="http://dingo.gapanalysisprogram.com/ArcGIS/rest/services/PADUS/PADUS_status/MapServer/0" rel="nofollow" target="_blank"&gt;http://dingo.gapanalysisprogram.com/ArcGIS/rest/services/PADUS/PADUS_status/MapServer/0&lt;/A&gt;&lt;SPAN&gt;");&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;// Query&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;var bufferquery = new esri.tasks.Query();&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;// +++++Listen for map onClick event+++++&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;dojo.connect(map, "onClick", function(evt) {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;map.graphics.clear();&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;var params = new esri.tasks.BufferParameters();&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;params.geometries = [ evt.mapPoint ];&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;// Buffer in linear units such as meters, km, miles etc.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;params.distances = [ dojo.byId('bufferDistance').value ];&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;params.unit = esri.tasks.GeometryService.UNIT_STATUTE_MILE;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;params.bufferSpatialReference = new esri.SpatialReference({"wkid": 3089});&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;params.outSpatialReference = new esri.SpatialReference({"wkid": 3089});&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;gsvc.buffer(params);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;dojo.byId('messages').innerHTML = "&amp;lt;b&amp;gt;Creating Buffer Using Geometry Service...&amp;lt;/b&amp;gt;";&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;});&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;// +++++Listen for GeometryService onBufferComplete event+++++&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;dojo.connect(gsvc, "onBufferComplete", function(geometries) {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;var symbol = new esri.symbol.SimpleFillSymbol("none", new esri.symbol.SimpleLineSymbol("dashdot", new dojo.Color([255,0,0]), 2), new dojo.Color([255,255,0,0.25]));&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;var graphic = new esri.Graphic(geometries[0],symbol);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;map.graphics.add(graphic);&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;bufferquery.returnGeometry = true;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;bufferquery.outFields = ["P_Des_Nm","P_Loc_Nm","Own_Name","Mang_Name"];&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;bufferquery.outSpatialReference = map.spatialReference;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;bufferquery.geometry = geometries[0];&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;//query.where = "quadrangle_name='Adairville'"&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;bufferqueryTask.execute(bufferquery);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;dojo.byId('messages').innerHTML = "&amp;lt;b&amp;gt;Executing Query with Result Buffer Geometry...&amp;lt;/b&amp;gt;";&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;});&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;// +++++Listen for QueryTask executecomplete event+++++&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;dojo.connect(bufferqueryTask, "onComplete", function(fset) {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;//create symbol for selected features&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;var symbol = new esri.symbol.SimpleMarkerSymbol();&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;symbol.style = esri.symbol.SimpleMarkerSymbol.STYLE_SQUARE;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;symbol.setSize(8);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;symbol.setColor(new dojo.Color([255,255,0,0.5]));&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;//var infoTemplate = new esri.InfoTemplate("Block: ${BLOCK}", "${*}");&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;var resultFeatures = fset.features;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;for (var i=0, il=resultFeatures.length; i&amp;lt;il; i++) {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;console.log(resultFeatures&lt;I&gt;);&lt;/I&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;var graphic = resultFeatures&lt;I&gt;;&lt;/I&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;graphic.setSymbol(symbol);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;map.graphics.add(graphic);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;var pareas = returnRecordNums(fset);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;var r = "";&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;r = "&amp;lt;b&amp;gt;The protected areas within the buffer are &amp;lt;i&amp;gt;" + pareas + "&amp;lt;/i&amp;gt;.&amp;lt;/b&amp;gt;";&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;dojo.byId('messages').innerHTML = r;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;});&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;function returnRecordNums(fset){&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;var features = fset.features;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;var pas = "";&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;for (var x = 0; x &amp;lt; features.length; x++) {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;pas = pas + ", " + features&lt;X&gt;.attributes['P_Des_Nm'];&lt;/X&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;return pas;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt; function showCoordinates(evt) {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //get mapPoint from event&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var mp = evt.mapPoint;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //display mouse coordinates&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dojo.byId("info").innerHTML = mp.x + ", " + mp.y;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;dojo.addOnLoad(init);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;/script&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;/head&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;body class="claro"&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Zoom to area and click on map to select protected areas within the buffered circle.&amp;lt;br/&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Buffer distance (in miles):&amp;nbsp;&amp;lt;input type="text" id="bufferDistance" value="1" size="5" onkeydown="if (event.keyCode == 13) document.getElementById('btnSearch').click()"/&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; &amp;lt;form action=""&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Buffer distance :&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;input type="text" id="bufferDistance" value="1" /&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;input type="button" value="Get Details"&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;onclick="execute(dojo.byId('b').value);" /&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/form&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;div id="job"&amp;gt;&amp;lt;/div&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; &amp;lt;div id="mapDiv" style="width: 850px; height:500px; position:relative;"&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;span id="info" style="position:absolute; right:25px; bottom:5px; color:#000; z-index:50;"&amp;gt;&amp;lt;/span&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; &amp;lt;/div&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;span id="messages"&amp;gt;&amp;lt;/span&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;/body&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;/html&amp;gt;&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 22 Apr 2011 17:20:26 GMT</pubDate>
    <dc:creator>JillMaxwell</dc:creator>
    <dc:date>2011-04-22T17:20:26Z</dc:date>
    <item>
      <title>Need help activating buffer query with button</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/need-help-activating-buffer-query-with-button/m-p/112279#M10479</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;I have tried a few ways to activate my buffer query with a button, but (being a newbie), I have failed. The buffer I have set up works, but since I'm also going to have an identify button on the page, I need to have the user activate the buffer query with a button as well. Otherwise the buffer will run everytime the user clicks to identify a feature. I know how to toggle an identify task off and on, but I can't figure out how to control the buffer. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Anyhelp would be appreciated. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Here's the code&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&lt;SPAN&gt;&amp;lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="http://www.w3.org/TR/html4/strict.dtd" rel="nofollow" target="_blank"&gt;http://www.w3.org/TR/html4/strict.dtd&lt;/A&gt;&lt;SPAN&gt;"&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;html&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;head&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;meta http-equiv="Content-Type" content="text/html; charset=utf-8"/&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;meta http-equiv="X-UA-Compatible" content="IE=7" /&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;!--The viewport meta tag is used to improve the presentation and behavior of the samples &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;on iOS devices--&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;meta name="viewport" content="initial-scale=1, maximum-scale=1,user-scalable=no"/&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;title&amp;gt;QueryTask with query geometry from another task&amp;lt;/title&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&lt;SPAN&gt;&amp;lt;link rel="stylesheet" type="text/css" href="&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="http://serverapi.arcgisonline.com/jsapi/arcgis/2.1/js/dojo/dijit/themes/claro/claro.css" rel="nofollow" target="_blank"&gt;http://serverapi.arcgisonline.com/jsapi/arcgis/2.1/js/dojo/dijit/themes/claro/claro.css&lt;/A&gt;&lt;SPAN&gt;"&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&lt;SPAN&gt;&amp;lt;script type="text/javascript" src="&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="http://serverapi.arcgisonline.com/jsapi/arcgis/?v=2.1" rel="nofollow" target="_blank"&gt;http://serverapi.arcgisonline.com/jsapi/arcgis/?v=2.1&lt;/A&gt;&lt;SPAN&gt;"&amp;gt;&amp;lt;/script&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;script type="text/javascript"&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;dojo.require("esri.map");&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;dojo.require("esri.tasks.query");&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;dojo.require("esri.tasks.geometry");&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;var bufferqueryTask;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;/*Initialize map, buffer, &amp;amp; query params*/&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;function init() {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;var startExtent = new esri.geometry.Extent({"xmin":-28364141.57017,"ymin":-2803495.15887,"xmax":12597044.415,"ymax":21320884.31716,"spatialReference":{"wkid":3089}});&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;var map = new esri.Map("mapDiv", {extent:startExtent,&amp;nbsp; wrapAround180:true});&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;//listen for when map is loaded and then add query functionality&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;dojo.connect(map, "onLoad", initFunctionality);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;dojo.connect(map, "onLoad", function() {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; map.disableDoubleClickZoom();&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;});&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;//after map loads, connect to listen to mouse move &amp;amp; drag events&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dojo.connect(map, "onMouseMove", showCoordinates);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&lt;SPAN&gt;var streetMap = new esri.layers.ArcGISDynamicMapServiceLayer("&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="http://dingo.gapanalysisprogram.com/ArcGIS/rest/services/PADUS/PADUS_status/MapServer" rel="nofollow" target="_blank"&gt;http://dingo.gapanalysisprogram.com/ArcGIS/rest/services/PADUS/PADUS_status/MapServer&lt;/A&gt;&lt;SPAN&gt;");&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;map.addLayer(streetMap);&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&lt;SPAN&gt;var gap = new esri.layers.ArcGISDynamicMapServiceLayer("&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="http://dingo.gapanalysisprogram.com/ArcGIS/rest/services/PADUS/Ancillary/MapServer" rel="nofollow" target="_blank"&gt;http://dingo.gapanalysisprogram.com/ArcGIS/rest/services/PADUS/Ancillary/MapServer&lt;/A&gt;&lt;SPAN&gt;");&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;map.addLayer(gap);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;function initFunctionality(map) {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;//identify proxy page to use if the toJson payload to the geometry service is greater than 2000 characters.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;//If this null or not available the buffer operation will not work. Otherwise it will do a http post to the proxy.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;//esriConfig.defaults.io.proxyUrl = "/arcgisserver/apis/javascript/proxy/proxy.ashx";&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;//esriConfig.defaults.io.alwaysUseProxy = false;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;//esriConfig.defaults.io.proxyUrl = "/arcgisserver/proxy/proxy.ashx";&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&lt;SPAN&gt;//esriConfig.defaults.io.proxyUrl = "&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="http://www.gap.uidaho.edu/proxy_ags.jsp" rel="nofollow" target="_blank"&gt;http://www.gap.uidaho.edu/proxy_ags.jsp&lt;/A&gt;&lt;SPAN&gt;";&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&lt;SPAN&gt;esriConfig.defaults.io.proxyUrl = "&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="http://dingo.gapanalysisprogram.com/proxy/proxy.ashx" rel="nofollow" target="_blank"&gt;http://dingo.gapanalysisprogram.com/proxy/proxy.ashx&lt;/A&gt;&lt;SPAN&gt;";&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&lt;SPAN&gt;//esri.config.defaults.io.proxyUrl = "&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="http://www.gap.uidaho.edu/proxy.php" rel="nofollow" target="_blank"&gt;http://www.gap.uidaho.edu/proxy.php&lt;/A&gt;&lt;SPAN&gt;";&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;esriConfig.defaults.io.alwaysUseProxy = false;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;//Geometry Service Endpoint&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&lt;SPAN&gt;var gsvc = new esri.tasks.GeometryService("&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="http://sampleserver3.arcgisonline.com/ArcGIS/rest/services/Geometry/GeometryServer" rel="nofollow" target="_blank"&gt;http://sampleserver3.arcgisonline.com/ArcGIS/rest/services/Geometry/GeometryServer&lt;/A&gt;&lt;SPAN&gt;");&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&lt;SPAN&gt;bufferqueryTask = new esri.tasks.QueryTask("&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="http://dingo.gapanalysisprogram.com/ArcGIS/rest/services/PADUS/PADUS_status/MapServer/0" rel="nofollow" target="_blank"&gt;http://dingo.gapanalysisprogram.com/ArcGIS/rest/services/PADUS/PADUS_status/MapServer/0&lt;/A&gt;&lt;SPAN&gt;");&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;// Query&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;var bufferquery = new esri.tasks.Query();&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;// +++++Listen for map onClick event+++++&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;dojo.connect(map, "onClick", function(evt) {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;map.graphics.clear();&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;var params = new esri.tasks.BufferParameters();&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;params.geometries = [ evt.mapPoint ];&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;// Buffer in linear units such as meters, km, miles etc.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;params.distances = [ dojo.byId('bufferDistance').value ];&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;params.unit = esri.tasks.GeometryService.UNIT_STATUTE_MILE;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;params.bufferSpatialReference = new esri.SpatialReference({"wkid": 3089});&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;params.outSpatialReference = new esri.SpatialReference({"wkid": 3089});&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;gsvc.buffer(params);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;dojo.byId('messages').innerHTML = "&amp;lt;b&amp;gt;Creating Buffer Using Geometry Service...&amp;lt;/b&amp;gt;";&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;});&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;// +++++Listen for GeometryService onBufferComplete event+++++&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;dojo.connect(gsvc, "onBufferComplete", function(geometries) {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;var symbol = new esri.symbol.SimpleFillSymbol("none", new esri.symbol.SimpleLineSymbol("dashdot", new dojo.Color([255,0,0]), 2), new dojo.Color([255,255,0,0.25]));&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;var graphic = new esri.Graphic(geometries[0],symbol);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;map.graphics.add(graphic);&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;bufferquery.returnGeometry = true;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;bufferquery.outFields = ["P_Des_Nm","P_Loc_Nm","Own_Name","Mang_Name"];&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;bufferquery.outSpatialReference = map.spatialReference;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;bufferquery.geometry = geometries[0];&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;//query.where = "quadrangle_name='Adairville'"&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;bufferqueryTask.execute(bufferquery);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;dojo.byId('messages').innerHTML = "&amp;lt;b&amp;gt;Executing Query with Result Buffer Geometry...&amp;lt;/b&amp;gt;";&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;});&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;// +++++Listen for QueryTask executecomplete event+++++&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;dojo.connect(bufferqueryTask, "onComplete", function(fset) {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;//create symbol for selected features&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;var symbol = new esri.symbol.SimpleMarkerSymbol();&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;symbol.style = esri.symbol.SimpleMarkerSymbol.STYLE_SQUARE;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;symbol.setSize(8);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;symbol.setColor(new dojo.Color([255,255,0,0.5]));&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;//var infoTemplate = new esri.InfoTemplate("Block: ${BLOCK}", "${*}");&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;var resultFeatures = fset.features;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;for (var i=0, il=resultFeatures.length; i&amp;lt;il; i++) {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;console.log(resultFeatures&lt;I&gt;);&lt;/I&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;var graphic = resultFeatures&lt;I&gt;;&lt;/I&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;graphic.setSymbol(symbol);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;map.graphics.add(graphic);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;var pareas = returnRecordNums(fset);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;var r = "";&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;r = "&amp;lt;b&amp;gt;The protected areas within the buffer are &amp;lt;i&amp;gt;" + pareas + "&amp;lt;/i&amp;gt;.&amp;lt;/b&amp;gt;";&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;dojo.byId('messages').innerHTML = r;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;});&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;function returnRecordNums(fset){&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;var features = fset.features;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;var pas = "";&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;for (var x = 0; x &amp;lt; features.length; x++) {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;pas = pas + ", " + features&lt;X&gt;.attributes['P_Des_Nm'];&lt;/X&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;return pas;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt; function showCoordinates(evt) {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //get mapPoint from event&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var mp = evt.mapPoint;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //display mouse coordinates&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dojo.byId("info").innerHTML = mp.x + ", " + mp.y;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;dojo.addOnLoad(init);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;/script&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;/head&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;body class="claro"&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Zoom to area and click on map to select protected areas within the buffered circle.&amp;lt;br/&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Buffer distance (in miles):&amp;nbsp;&amp;lt;input type="text" id="bufferDistance" value="1" size="5" onkeydown="if (event.keyCode == 13) document.getElementById('btnSearch').click()"/&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; &amp;lt;form action=""&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Buffer distance :&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;input type="text" id="bufferDistance" value="1" /&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;input type="button" value="Get Details"&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;onclick="execute(dojo.byId('b').value);" /&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/form&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;div id="job"&amp;gt;&amp;lt;/div&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; &amp;lt;div id="mapDiv" style="width: 850px; height:500px; position:relative;"&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;span id="info" style="position:absolute; right:25px; bottom:5px; color:#000; z-index:50;"&amp;gt;&amp;lt;/span&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; &amp;lt;/div&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;span id="messages"&amp;gt;&amp;lt;/span&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;/body&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;/html&amp;gt;&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 22 Apr 2011 17:20:26 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/need-help-activating-buffer-query-with-button/m-p/112279#M10479</guid>
      <dc:creator>JillMaxwell</dc:creator>
      <dc:date>2011-04-22T17:20:26Z</dc:date>
    </item>
    <item>
      <title>Re: Need help activating buffer query with button</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/need-help-activating-buffer-query-with-button/m-p/112280#M10480</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;I have tried a few ways to activate my buffer query with a button, but (being a newbie), I have failed. The buffer I have set up works, but since I'm also going to have an identify button on the page, I need to have the user activate the buffer query with a button as well. Otherwise the buffer will run everytime the user clicks to identify a feature. I know how to toggle an identify task off and on, but I can't figure out how to control the buffer. &lt;BR /&gt;&lt;BR /&gt;Anyhelp would be appreciated. &lt;BR /&gt;&lt;BR /&gt;Here's the code&lt;BR /&gt;&lt;BR /&gt;&amp;lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"&amp;gt;&lt;BR /&gt;&amp;lt;html&amp;gt;&lt;BR /&gt;&amp;lt;head&amp;gt;&lt;BR /&gt;&amp;lt;meta http-equiv="Content-Type" content="text/html; charset=utf-8"/&amp;gt;&lt;BR /&gt;&amp;lt;meta http-equiv="X-UA-Compatible" content="IE=7" /&amp;gt;&lt;BR /&gt;&amp;lt;!--The viewport meta tag is used to improve the presentation and behavior of the samples &lt;BR /&gt;on iOS devices--&amp;gt;&lt;BR /&gt;&amp;lt;meta name="viewport" content="initial-scale=1, maximum-scale=1,user-scalable=no"/&amp;gt;&lt;BR /&gt;&amp;lt;title&amp;gt;QueryTask with query geometry from another task&amp;lt;/title&amp;gt;&lt;BR /&gt;&amp;lt;link rel="stylesheet" type="text/css" href="http://serverapi.arcgisonline.com/jsapi/arcgis/2.1/js/dojo/dijit/themes/claro/claro.css"&amp;gt;&lt;BR /&gt;&lt;BR /&gt;&amp;lt;script type="text/javascript" src="http://serverapi.arcgisonline.com/jsapi/arcgis/?v=2.1"&amp;gt;&amp;lt;/script&amp;gt;&lt;BR /&gt;&amp;lt;script type="text/javascript"&amp;gt;&lt;BR /&gt;dojo.require("esri.map");&lt;BR /&gt;dojo.require("esri.tasks.query");&lt;BR /&gt;dojo.require("esri.tasks.geometry");&lt;BR /&gt;&lt;BR /&gt;var bufferqueryTask;&lt;BR /&gt;&lt;BR /&gt;/*Initialize map, buffer, &amp;amp; query params*/&lt;BR /&gt;function init() {&lt;BR /&gt;var startExtent = new esri.geometry.Extent({"xmin":-28364141.57017,"ymin":-2803495.15887,"xmax":12597044.415,"ymax":21320884.31716,"spatialReference":{"wkid":3089}});&lt;BR /&gt;var map = new esri.Map("mapDiv", {extent:startExtent,&amp;nbsp; wrapAround180:true});&lt;BR /&gt;//listen for when map is loaded and then add query functionality&lt;BR /&gt;dojo.connect(map, "onLoad", initFunctionality);&lt;BR /&gt;dojo.connect(map, "onLoad", function() {&lt;BR /&gt;&amp;nbsp; map.disableDoubleClickZoom();&lt;BR /&gt;});&lt;BR /&gt;&lt;BR /&gt;//after map loads, connect to listen to mouse move &amp;amp; drag events&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dojo.connect(map, "onMouseMove", showCoordinates);&lt;BR /&gt;var streetMap = new esri.layers.ArcGISDynamicMapServiceLayer("http://dingo.gapanalysisprogram.com/ArcGIS/rest/services/PADUS/PADUS_status/MapServer");&lt;BR /&gt;map.addLayer(streetMap);&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;var gap = new esri.layers.ArcGISDynamicMapServiceLayer("http://dingo.gapanalysisprogram.com/ArcGIS/rest/services/PADUS/Ancillary/MapServer");&lt;BR /&gt;map.addLayer(gap);&lt;BR /&gt;}&lt;BR /&gt;&lt;BR /&gt;function initFunctionality(map) {&lt;BR /&gt;//identify proxy page to use if the toJson payload to the geometry service is greater than 2000 characters.&lt;BR /&gt;//If this null or not available the buffer operation will not work. Otherwise it will do a http post to the proxy.&lt;BR /&gt;//esriConfig.defaults.io.proxyUrl = "/arcgisserver/apis/javascript/proxy/proxy.ashx";&lt;BR /&gt;//esriConfig.defaults.io.alwaysUseProxy = false;&lt;BR /&gt;//esriConfig.defaults.io.proxyUrl = "/arcgisserver/proxy/proxy.ashx";&lt;BR /&gt;//esriConfig.defaults.io.proxyUrl = "http://www.gap.uidaho.edu/proxy_ags.jsp";&lt;BR /&gt;esriConfig.defaults.io.proxyUrl = "http://dingo.gapanalysisprogram.com/proxy/proxy.ashx";&lt;BR /&gt;//esri.config.defaults.io.proxyUrl = "http://www.gap.uidaho.edu/proxy.php";&lt;BR /&gt;&lt;BR /&gt;esriConfig.defaults.io.alwaysUseProxy = false;&lt;BR /&gt;&lt;BR /&gt;//Geometry Service Endpoint&lt;BR /&gt;var gsvc = new esri.tasks.GeometryService("http://sampleserver3.arcgisonline.com/ArcGIS/rest/services/Geometry/GeometryServer");&lt;BR /&gt;bufferqueryTask = new esri.tasks.QueryTask("http://dingo.gapanalysisprogram.com/ArcGIS/rest/services/PADUS/PADUS_status/MapServer/0");&lt;BR /&gt;&lt;BR /&gt;// Query&lt;BR /&gt;var bufferquery = new esri.tasks.Query();&lt;BR /&gt;&lt;BR /&gt;// +++++Listen for map onClick event+++++&lt;BR /&gt;dojo.connect(map, "onClick", function(evt) {&lt;BR /&gt;map.graphics.clear();&lt;BR /&gt;var params = new esri.tasks.BufferParameters();&lt;BR /&gt;params.geometries = [ evt.mapPoint ];&lt;BR /&gt;// Buffer in linear units such as meters, km, miles etc.&lt;BR /&gt;params.distances = [ dojo.byId('bufferDistance').value ];&lt;BR /&gt;params.unit = esri.tasks.GeometryService.UNIT_STATUTE_MILE;&lt;BR /&gt;params.bufferSpatialReference = new esri.SpatialReference({"wkid": 3089});&lt;BR /&gt;params.outSpatialReference = new esri.SpatialReference({"wkid": 3089});&lt;BR /&gt;gsvc.buffer(params);&lt;BR /&gt;dojo.byId('messages').innerHTML = "&amp;lt;b&amp;gt;Creating Buffer Using Geometry Service...&amp;lt;/b&amp;gt;";&lt;BR /&gt;});&lt;BR /&gt;&lt;BR /&gt;// +++++Listen for GeometryService onBufferComplete event+++++&lt;BR /&gt;dojo.connect(gsvc, "onBufferComplete", function(geometries) {&lt;BR /&gt;var symbol = new esri.symbol.SimpleFillSymbol("none", new esri.symbol.SimpleLineSymbol("dashdot", new dojo.Color([255,0,0]), 2), new dojo.Color([255,255,0,0.25]));&lt;BR /&gt;var graphic = new esri.Graphic(geometries[0],symbol);&lt;BR /&gt;map.graphics.add(graphic);&lt;BR /&gt;&lt;BR /&gt;bufferquery.returnGeometry = true;&lt;BR /&gt;&lt;BR /&gt;bufferquery.outFields = ["P_Des_Nm","P_Loc_Nm","Own_Name","Mang_Name"];&lt;BR /&gt;bufferquery.outSpatialReference = map.spatialReference;&lt;BR /&gt;bufferquery.geometry = geometries[0];&lt;BR /&gt;//query.where = "quadrangle_name='Adairville'"&lt;BR /&gt;bufferqueryTask.execute(bufferquery);&lt;BR /&gt;dojo.byId('messages').innerHTML = "&amp;lt;b&amp;gt;Executing Query with Result Buffer Geometry...&amp;lt;/b&amp;gt;";&lt;BR /&gt;});&lt;BR /&gt;&lt;BR /&gt;// +++++Listen for QueryTask executecomplete event+++++&lt;BR /&gt;dojo.connect(bufferqueryTask, "onComplete", function(fset) {&lt;BR /&gt;//create symbol for selected features&lt;BR /&gt;var symbol = new esri.symbol.SimpleMarkerSymbol();&lt;BR /&gt;symbol.style = esri.symbol.SimpleMarkerSymbol.STYLE_SQUARE;&lt;BR /&gt;symbol.setSize(8);&lt;BR /&gt;symbol.setColor(new dojo.Color([255,255,0,0.5]));&lt;BR /&gt;&lt;BR /&gt;//var infoTemplate = new esri.InfoTemplate("Block: ${BLOCK}", "${*}");&lt;BR /&gt;var resultFeatures = fset.features;&lt;BR /&gt;for (var i=0, il=resultFeatures.length; i&amp;lt;il; i++) {&lt;BR /&gt;console.log(resultFeatures&lt;I&gt;);&lt;BR /&gt;var graphic = resultFeatures&lt;I&gt;;&lt;BR /&gt;graphic.setSymbol(symbol);&lt;BR /&gt;map.graphics.add(graphic);&lt;BR /&gt;}&lt;BR /&gt;var pareas = returnRecordNums(fset);&lt;BR /&gt;var r = "";&lt;BR /&gt;r = "&amp;lt;b&amp;gt;The protected areas within the buffer are &amp;lt;i&amp;gt;" + pareas + "&amp;lt;/i&amp;gt;.&amp;lt;/b&amp;gt;";&lt;BR /&gt;dojo.byId('messages').innerHTML = r;&lt;BR /&gt;});&lt;BR /&gt;}&lt;BR /&gt;&lt;BR /&gt;function returnRecordNums(fset){&lt;BR /&gt;&amp;nbsp; &lt;BR /&gt;var features = fset.features;&lt;BR /&gt;var pas = "";&lt;BR /&gt;for (var x = 0; x &amp;lt; features.length; x++) {&lt;BR /&gt;pas = pas + ", " + features&lt;X&gt;.attributes['P_Des_Nm'];&lt;BR /&gt;}&lt;BR /&gt;return pas;&lt;BR /&gt;}&lt;BR /&gt;&lt;BR /&gt; function showCoordinates(evt) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //get mapPoint from event&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var mp = evt.mapPoint;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //display mouse coordinates&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dojo.byId("info").innerHTML = mp.x + ", " + mp.y;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;dojo.addOnLoad(init);&lt;BR /&gt;&amp;lt;/script&amp;gt;&lt;BR /&gt;&amp;lt;/head&amp;gt;&lt;BR /&gt;&lt;BR /&gt;&amp;lt;body class="claro"&amp;gt;&lt;BR /&gt;Zoom to area and click on map to select protected areas within the buffered circle.&amp;lt;br/&amp;gt;&lt;BR /&gt;Buffer distance (in miles):&amp;nbsp;&amp;lt;input type="text" id="bufferDistance" value="1" size="5" onkeydown="if (event.keyCode == 13) document.getElementById('btnSearch').click()"/&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;lt;form action=""&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Buffer distance :&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;input type="text" id="bufferDistance" value="1" /&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;input type="button" value="Get Details"&lt;BR /&gt;onclick="execute(dojo.byId('b').value);" /&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/form&amp;gt;&lt;BR /&gt;&lt;BR /&gt;&amp;lt;div id="job"&amp;gt;&amp;lt;/div&amp;gt;&lt;BR /&gt; &amp;lt;div id="mapDiv" style="width: 850px; height:500px; position:relative;"&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;span id="info" style="position:absolute; right:25px; bottom:5px; color:#000; z-index:50;"&amp;gt;&amp;lt;/span&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;lt;/div&amp;gt;&lt;BR /&gt;&amp;nbsp; &lt;BR /&gt;&lt;BR /&gt;&amp;lt;span id="messages"&amp;gt;&amp;lt;/span&amp;gt;&lt;BR /&gt;&amp;lt;/body&amp;gt;&lt;BR /&gt;&amp;lt;/html&amp;gt;&lt;/X&gt;&lt;/I&gt;&lt;/I&gt;&lt;/BLOCKQUOTE&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;The best way to do this is to create a delegate to handle identify and buffer events. Here is how you do it:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;//globle variable (could be a boolean, int or string):&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;var actionMode ="identify"; //default&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;......&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;dojo.connect(map, "onClick", doActionAccordingly);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;......&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;function doActionAccordingly(evt)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; switch (actionMode)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; case "identify":&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .... identify go here&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; break;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; case "bufferQuery":&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .... buffer query goes here&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // remember reset actionMode ="identify" after finish buffer query&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; break;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ........&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;function bufferBtn_onclick()&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //set action mode to buffer&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; actionMode ="bufferQuery";&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Hope it will help&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 22 Apr 2011 18:49:41 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/need-help-activating-buffer-query-with-button/m-p/112280#M10480</guid>
      <dc:creator>HemingZhu</dc:creator>
      <dc:date>2011-04-22T18:49:41Z</dc:date>
    </item>
  </channel>
</rss>

