<?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 Re: Cancel Identify Task in ArcGIS JavaScript Maps SDK Questions</title>
    <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/cancel-identify-task/m-p/693691#M64482</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Will that work with the legacy style? I'm still using that currently and not AMD. This is the code I'm using: &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt; //Identify task
&amp;nbsp;&amp;nbsp; function initFunctionality (map){
&amp;nbsp;&amp;nbsp;&amp;nbsp; dojo.connect(map, "onClick", executeIdentifyTask);
&amp;nbsp; 
&amp;nbsp; 
&amp;nbsp; identifyTask = new esri.tasks.IdentifyTask("http://gismap.oit.ncsu.edu/arcgis/rest/services/FiberAnalytics_IMS/MapServer");
&amp;nbsp; 
&amp;nbsp; identifyParams = new esri.tasks.IdentifyParameters();
&amp;nbsp; identifyParams.tolerance = 2;
&amp;nbsp; identifyParams.returnGeometry = true;
&amp;nbsp; identifyParams.layerIds = [2,3,4,5,6,7,8,9,11,18];
&amp;nbsp; identifyParams.layerOption = esri.tasks.IdentifyParameters.LAYER_OPTION_TOP;
&amp;nbsp; identifyParams.width = map.width;
&amp;nbsp; identifyParams.height = map.height;
&amp;nbsp; 
&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; //Execute Identify Task
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; function executeIdentifyTask(evt){&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; identifyParams.geometry = evt.mapPoint;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; identifyParams.mapExtent = map.extent;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var deferred = identifyTask.execute(identifyParams);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; deferred.addCallback(function(response){
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // response is an array of identify result objects&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Let's return an array of features.
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return dojo.map(response, function(result){
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var feature = result.feature;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; feature.attributes.layerName = result.layerName; &lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;The initFunctionality function is tied to a button in my application.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Sun, 12 Dec 2021 05:11:57 GMT</pubDate>
    <dc:creator>JessicaKnight1</dc:creator>
    <dc:date>2021-12-12T05:11:57Z</dc:date>
    <item>
      <title>Cancel Identify Task</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/cancel-identify-task/m-p/693689#M64480</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Can anyone give me a pointer to get the Identify task to cancel once you click the map? Or at least tie a cancel to a button? Its a bit of an annoyance that the ID task still keeps working after you click on a point.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 06 Dec 2013 17:11:43 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/cancel-identify-task/m-p/693689#M64480</guid>
      <dc:creator>JessicaKnight1</dc:creator>
      <dc:date>2013-12-06T17:11:43Z</dc:date>
    </item>
    <item>
      <title>Re: Cancel Identify Task</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/cancel-identify-task/m-p/693690#M64481</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;If you're initiating identify with map onClick you can use dojo/on once.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;on.once(map, 'click', function(evt) {
&amp;nbsp; //do stuff
});&lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;To manage the event outside itself.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;var clickTheMap = on(map, 'click', function(evt) {
&amp;nbsp; //remove event when fired (equivalent to on.once)
&amp;nbsp; clickTheMap.remove();
&amp;nbsp; clickTheMap = null;

&amp;nbsp; //do stuff
});

on(myCancelButton, 'click', function() {
&amp;nbsp; if(clickTheMap) {
&amp;nbsp;&amp;nbsp;&amp;nbsp; clickTheMap.remove();
&amp;nbsp; }
});&lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;If you have a lot of map events consider a helper class to manage said events. Here's the relevant parts of mine. Keep in mind I just copy/pasted this as an example to illustrate to concept. Will probably take some adaptation to implement in your app.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;/* map event handling */
// primarily used for map 'click' events
// however any on-style event can be added
// does not support connect events
eventAdd: function (event) {
&amp;nbsp; this.eventOns.push(event);
},
eventBegin: function () {
&amp;nbsp; this.infoWindow.hide();
&amp;nbsp; this.infoWindow.clearFeatures();
&amp;nbsp; this.setMapCursor('default');
&amp;nbsp; this.eventMouseEventsDisable();
&amp;nbsp; arrayUtils.forEach(this.eventOns, function (o) {
&amp;nbsp;&amp;nbsp;&amp;nbsp; o.remove();
&amp;nbsp; });
&amp;nbsp; this.eventOns = [];
&amp;nbsp; if (this.drawToolbar._geometryType != null) {
&amp;nbsp;&amp;nbsp;&amp;nbsp; this.drawToolbar.deactivate();
&amp;nbsp; }
&amp;nbsp; var s = esriBundle.toolbars.draw;
&amp;nbsp; s.addPoint = 'Click to add a point';
&amp;nbsp; s.freehand = 'Press down to start and let go to finish';
&amp;nbsp; s.start = 'Click to start drawing';
&amp;nbsp; s.resume = 'Click to continue drawing';
&amp;nbsp; s.complete = 'Double-click to finish';
},
eventEnd: function () {
&amp;nbsp; this.setMapCursor('default');
&amp;nbsp; this.eventMouseEventsEnable();
&amp;nbsp; this.toaster.hide();
},
eventReset: function () {
&amp;nbsp; this.eventBegin();
&amp;nbsp; this.eventEnd();
},
eventMouseEventsEnable: function () {
&amp;nbsp; arrayUtils.forEach(this.graphicsLayerIds, function (layer) {
&amp;nbsp;&amp;nbsp;&amp;nbsp; this.getLayer(layer).enableMouseEvents();
&amp;nbsp; }, this);
},
eventMouseEventsDisable: function () {
&amp;nbsp; arrayUtils.forEach(this.graphicsLayerIds, function (layer) {
&amp;nbsp;&amp;nbsp;&amp;nbsp; this.getLayer(layer).disableMouseEvents();
&amp;nbsp; }, this);
},&lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Used like this.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;this.map.eventBegin();

this.map.setMapCursor('crosshair');

this.map.drawToolbar.activate('point');

var o = on.once(this.map.drawToolbar, 'draw-end', lang.hitch(this, function (result) {

&amp;nbsp; this.map.eventEnd();

&amp;nbsp; //do stuff
}));

this.map.eventAdd(o);&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 12 Dec 2021 05:11:54 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/cancel-identify-task/m-p/693690#M64481</guid>
      <dc:creator>BenFousek</dc:creator>
      <dc:date>2021-12-12T05:11:54Z</dc:date>
    </item>
    <item>
      <title>Re: Cancel Identify Task</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/cancel-identify-task/m-p/693691#M64482</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Will that work with the legacy style? I'm still using that currently and not AMD. This is the code I'm using: &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt; //Identify task
&amp;nbsp;&amp;nbsp; function initFunctionality (map){
&amp;nbsp;&amp;nbsp;&amp;nbsp; dojo.connect(map, "onClick", executeIdentifyTask);
&amp;nbsp; 
&amp;nbsp; 
&amp;nbsp; identifyTask = new esri.tasks.IdentifyTask("http://gismap.oit.ncsu.edu/arcgis/rest/services/FiberAnalytics_IMS/MapServer");
&amp;nbsp; 
&amp;nbsp; identifyParams = new esri.tasks.IdentifyParameters();
&amp;nbsp; identifyParams.tolerance = 2;
&amp;nbsp; identifyParams.returnGeometry = true;
&amp;nbsp; identifyParams.layerIds = [2,3,4,5,6,7,8,9,11,18];
&amp;nbsp; identifyParams.layerOption = esri.tasks.IdentifyParameters.LAYER_OPTION_TOP;
&amp;nbsp; identifyParams.width = map.width;
&amp;nbsp; identifyParams.height = map.height;
&amp;nbsp; 
&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; //Execute Identify Task
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; function executeIdentifyTask(evt){&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; identifyParams.geometry = evt.mapPoint;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; identifyParams.mapExtent = map.extent;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var deferred = identifyTask.execute(identifyParams);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; deferred.addCallback(function(response){
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // response is an array of identify result objects&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Let's return an array of features.
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return dojo.map(response, function(result){
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var feature = result.feature;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; feature.attributes.layerName = result.layerName; &lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;The initFunctionality function is tied to a button in my application.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 12 Dec 2021 05:11:57 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/cancel-identify-task/m-p/693691#M64482</guid>
      <dc:creator>JessicaKnight1</dc:creator>
      <dc:date>2021-12-12T05:11:57Z</dc:date>
    </item>
    <item>
      <title>Re: Cancel Identify Task</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/cancel-identify-task/m-p/693692#M64483</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Sure:&lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;
var connects = [];

function reset() {
&amp;nbsp; dojo.forEach(connects, dojo.disconnect);
&amp;nbsp; connects = [];
};

//elsewhere
reset();
var mapClick = dojo.connect(map, 'onClick', function(evt) {
&amp;nbsp; dojo.disconnect(mapClick);
&amp;nbsp; 
&amp;nbsp; //do stuff
});
connects.push(mapClick);&lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;And not to push AMD on you, but it's the way to go. &lt;span class="lia-unicode-emoji" title=":winking_face:"&gt;😉&lt;/span&gt;&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 12 Dec 2021 05:11:59 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/cancel-identify-task/m-p/693692#M64483</guid>
      <dc:creator>BenFousek</dc:creator>
      <dc:date>2021-12-12T05:11:59Z</dc:date>
    </item>
    <item>
      <title>Re: Cancel Identify Task</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/cancel-identify-task/m-p/693693#M64484</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;I will definitely be switching to AMD in the fairly near future, but I'm still getting a handle on the legacy coding! &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Any more pointers? I can't seem to make it work.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 16 Dec 2013 20:02:14 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/cancel-identify-task/m-p/693693#M64484</guid>
      <dc:creator>JessicaKnight1</dc:creator>
      <dc:date>2013-12-16T20:02:14Z</dc:date>
    </item>
    <item>
      <title>Re: Cancel Identify Task</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/cancel-identify-task/m-p/693694#M64485</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Anyone? Still having trouble getting this to work.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 20 Dec 2013 13:42:39 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/cancel-identify-task/m-p/693694#M64485</guid>
      <dc:creator>JessicaKnight1</dc:creator>
      <dc:date>2013-12-20T13:42:39Z</dc:date>
    </item>
    <item>
      <title>Re: Cancel Identify Task</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/cancel-identify-task/m-p/693695#M64486</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;How about similar to the on.once() method,you try on.pausable().&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I made a fiddle demonstrating it here.&lt;/SPAN&gt;&lt;BR /&gt;&lt;A href="http://jsfiddle.net/odoe/DtJcH/" rel="nofollow noopener noreferrer" target="_blank"&gt;http://jsfiddle.net/odoe/DtJcH/&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Here is the js for it.&lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;
require([
&amp;nbsp;&amp;nbsp;&amp;nbsp; 'dojo/on',
&amp;nbsp;&amp;nbsp;&amp;nbsp; 'dojo/query',
&amp;nbsp;&amp;nbsp;&amp;nbsp; 'esri/map',
&amp;nbsp;&amp;nbsp;&amp;nbsp; 'esri/tasks/IdentifyTask',
&amp;nbsp;&amp;nbsp;&amp;nbsp; 'esri/tasks/IdentifyParameters',
&amp;nbsp;&amp;nbsp;&amp;nbsp; 'esri/layers/ArcGISDynamicMapServiceLayer',
&amp;nbsp;&amp;nbsp;&amp;nbsp; 'dojo/domReady!'
], function (
&amp;nbsp;&amp;nbsp;&amp;nbsp; on, query,
&amp;nbsp;&amp;nbsp;&amp;nbsp; Map,
&amp;nbsp;&amp;nbsp;&amp;nbsp; IdentifyTask, IdentifyParameters,
&amp;nbsp;&amp;nbsp;&amp;nbsp; ArcGISDynamicMapServiceLayer
) {
&amp;nbsp;&amp;nbsp;&amp;nbsp; var map,
&amp;nbsp;&amp;nbsp;&amp;nbsp; layer,
&amp;nbsp;&amp;nbsp;&amp;nbsp; idTask,
&amp;nbsp;&amp;nbsp;&amp;nbsp; idParams,
&amp;nbsp;&amp;nbsp;&amp;nbsp; handler,
&amp;nbsp;&amp;nbsp;&amp;nbsp; paused = false,
&amp;nbsp;&amp;nbsp;&amp;nbsp; $button = query('#btnIdentify')[0];

&amp;nbsp;&amp;nbsp;&amp;nbsp; map = new Map('mapDiv', {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; basemap: 'streets',
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; center: [-83.275, 42.573],
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; zoom: 18
&amp;nbsp;&amp;nbsp;&amp;nbsp; });

&amp;nbsp;&amp;nbsp;&amp;nbsp; layer = new ArcGISDynamicMapServiceLayer('http://sampleserver3.arcgisonline.com/ArcGIS/rest/services/BloomfieldHillsMichigan/Parcels/MapServer', {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; opacity: 0.5
&amp;nbsp;&amp;nbsp;&amp;nbsp; });

&amp;nbsp;&amp;nbsp;&amp;nbsp; map.addLayer(layer);

&amp;nbsp;&amp;nbsp;&amp;nbsp; on.once(map, 'load', function () {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // define a pausable handler
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; handler = on.pausable(map, 'click', doIdentify);

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; idTask = new IdentifyTask('http://sampleserver3.arcgisonline.com/ArcGIS/rest/services/BloomfieldHillsMichigan/Parcels/MapServer');
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; idParams = new IdentifyParameters();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; idParams.tolerance = 3;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; idParams.returnGeometry = true;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; idParams.layerIds = [0, 2];
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; idParams.layerOption = IdentifyParameters.LAYER_OPTION_ALL;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; idParams.width = map.width;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; idParams.height = map.height;
&amp;nbsp;&amp;nbsp;&amp;nbsp; });

&amp;nbsp;&amp;nbsp;&amp;nbsp; // handle the pausable handler
&amp;nbsp;&amp;nbsp;&amp;nbsp; on($button, 'click', function () {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; paused = !paused;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (paused) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; handler.pause();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $button.innerHTML = 'Paused';
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } else {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; handler.resume();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $button.innerHTML = 'Not Paused';
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp; });

&amp;nbsp;&amp;nbsp;&amp;nbsp; function doIdentify(e) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; console.debug('identify on the map');
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; idParams.geometry = e.mapPoint;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; idParams.mapExtent = map.extent;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; idTask.execute(idParams).then(function () {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; alert('Identify Complete');
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }, function (err) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; alert('Error, sorry');
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; });
&amp;nbsp;&amp;nbsp;&amp;nbsp; }
});
&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 12 Dec 2021 05:12:02 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/cancel-identify-task/m-p/693695#M64486</guid>
      <dc:creator>ReneRubalcava</dc:creator>
      <dc:date>2021-12-12T05:12:02Z</dc:date>
    </item>
    <item>
      <title>Re: Cancel Identify Task</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/cancel-identify-task/m-p/693696#M64487</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;I need legacy code though.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 20 Dec 2013 16:34:11 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/cancel-identify-task/m-p/693696#M64487</guid>
      <dc:creator>JessicaKnight1</dc:creator>
      <dc:date>2013-12-20T16:34:11Z</dc:date>
    </item>
    <item>
      <title>Re: Cancel Identify Task</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/cancel-identify-task/m-p/693697#M64488</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;I haven't tested this, but maybe similar to below.&lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;
var mapClick,
 allowIdentify = true;

function initConnect() {
 mapClick = dojo.connect(map, 'onClick', function(evt) {
&amp;nbsp;&amp;nbsp; dojo.disconnect(mapClick);
&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; //do stuff
 });
}

function disconnect() {
 dojo.disconnect(mapClick);
}

// some sort of action, like a button click
dojo.connect(dojo.byId('btnIdentify'), 'onClick', function() {
 allowIdentify = !allowIdentify;
 if (allowIdentify) {
&amp;nbsp; disconnect();
 } else {
&amp;nbsp; initConnect();
 }

});
&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 12 Dec 2021 05:12:04 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/cancel-identify-task/m-p/693697#M64488</guid>
      <dc:creator>ReneRubalcava</dc:creator>
      <dc:date>2021-12-12T05:12:04Z</dc:date>
    </item>
  </channel>
</rss>

