<?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 How stop Map while zooming in or out when a user press escape key? in ArcGIS JavaScript Maps SDK Questions</title>
    <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/how-stop-map-while-zooming-in-or-out-when-a-user/m-p/423062#M38922</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hi,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I am trying to stop Map while zooming in or out when a user press escape key but unable to do so. &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I am using Javascript API v2.6 as well as all layers are either Dynamic or Feature Layers. &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Please note that I am not using any tiled layer neither Navigation Toolbar.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; I slowed the zoom animation of a map, attached functions to onZoom, onZoomStart and onZoomEnd events. Checked the onkeydown event for escape key.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="plain" name="code"&gt;&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; //Modify zoom animation to ridiculous duration and rate For demonstration purpose only
&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; esriConfig.defaults.map.zoomDuration = 5000; 
&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; esriConfig.defaults.map.zoomRate = 100; 

&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; //Attach Function to onZoom, onZoomEnd and onZoomStart
&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; dojo.connect(map, "onZoom", DuringZoomProcess);
&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; dojo.connect(map, "onZoomEnd", ZoomProcessEnd);
&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; dojo.connect(map, "onZoomStart", ZoomProcessStart);

&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; // Attach Escape Key
&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 key_event_handle = dojo.isIE ? dojo.query('body')[0] : window;
&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; dojo.connect(key_event_handle, "onkeydown", function(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; if (evt.keyCode == dojo.keys.ESCAPE) {
&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; map.infoWindow.hide();
&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; // If Escape key is pressed and extentDuringZoom is not undefined or null
&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; if(extentDuringZoom){
&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; //Zoom to extentDuringZoom
&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; map.setExtent(extentDuringZoom);
&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;&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; });
&lt;/PRE&gt;&lt;DIV style="display:none;"&gt; &lt;/DIV&gt;&lt;BR /&gt;&lt;PRE class="plain" name="code"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ZoomProcessStart: function(extent, zoomFactor, anchor, level) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Clear extentDuringZoom
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mapControl.extentDuringZoom = null;
&amp;nbsp; },
&amp;nbsp;&amp;nbsp;&amp;nbsp; ZoomProcessEnd: function(extent, zoomFactor, anchor, level) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //When Zoom Ends we no longer need extentDuringZoom 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mapControl.extentDuringZoom = null;
&amp;nbsp; },
&amp;nbsp;&amp;nbsp;&amp;nbsp; DuringZoomProcess: function(extent, zoomFactor, anchor) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Get Current Zoom Extent
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mapControl.extentDuringZoom = extent;
&amp;nbsp; },
&lt;/PRE&gt;&lt;DIV style="display:none;"&gt; &lt;/DIV&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Using console messages I found out that&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; 1. When user zooms in a Zoom Animation is started from &lt;/SPAN&gt;&lt;STRONG&gt;Zoom Extent A&lt;/STRONG&gt;&lt;SPAN&gt; to &lt;/SPAN&gt;&lt;STRONG&gt;Zoom Extent B&lt;/STRONG&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;2. If a user presses escape key at &lt;/SPAN&gt;&lt;STRONG&gt;Zoom Extent C &lt;/STRONG&gt;&lt;SPAN&gt;the map stops there but does not load the map correctly.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;3. If user re sizes the map or browser map is loaded at &lt;/SPAN&gt;&lt;STRONG&gt;Zoom Extent B &lt;/STRONG&gt;&lt;SPAN&gt;i.e. the initial target zoom rather than the latter one.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Is there any way to stop first zoom animation and then start the other zoom animation?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;see the following log messages for the scenario&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;TABLE border="1" class="jiveBorder" style="border: 1px solid rgb(0, 0, 0); width: 100%;"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD style="border:1px solid black;border: 1px solid rgb(0, 0, 0);"&gt;&lt;STRONG&gt;Extents&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD style="border:1px solid black;border: 1px solid rgb(0, 0, 0);"&gt;&lt;STRONG&gt;Extent A&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD style="border:1px solid black;border: 1px solid rgb(0, 0, 0);"&gt;&lt;STRONG&gt;Extent B&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD style="border:1px solid black;border: 1px solid rgb(0, 0, 0);"&gt;&lt;STRONG&gt;Extent C&lt;/STRONG&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD style="border:1px solid black;border: 1px solid rgb(0, 0, 0);"&gt;&lt;STRONG&gt;X min &lt;BR /&gt;&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD style="border:1px solid black;border: 1px solid rgb(0, 0, 0);"&gt;21.544389045436883&lt;/TD&gt;&lt;TD style="border:1px solid black;border: 1px solid rgb(0, 0, 0);"&gt;42.63357982200006&lt;/TD&gt;&lt;TD style="border:1px solid black;border: 1px solid rgb(0, 0, 0);"&gt;23.2053167616934 &lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD style="border:1px solid black;border: 1px solid rgb(0, 0, 0);"&gt;&lt;STRONG&gt;Y Min &lt;BR /&gt;&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD style="border:1px solid black;border: 1px solid rgb(0, 0, 0);"&gt;14.615148099999992 &lt;/TD&gt;&lt;TD style="border:1px solid black;border: 1px solid rgb(0, 0, 0);"&gt;18.22364023339286 &lt;/TD&gt;&lt;TD style="border:1px solid black;border: 1px solid rgb(0, 0, 0);"&gt;14.899674256848485 &lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD style="border:1px solid black;border: 1px solid rgb(0, 0, 0);"&gt;&lt;STRONG&gt;X Max &lt;BR /&gt;&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD style="border:1px solid black;border: 1px solid rgb(0, 0, 0);"&gt;68.44102035456311 &lt;/TD&gt;&lt;TD style="border:1px solid black;border: 1px solid rgb(0, 0, 0);"&gt;42.67392896300004 &lt;/TD&gt;&lt;TD style="border:1px solid black;border: 1px solid rgb(0, 0, 0);"&gt;66.41124464448994 &lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD style="border:1px solid black;border: 1px solid rgb(0, 0, 0);"&gt;&lt;STRONG&gt;Y Max &lt;BR /&gt;&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD style="border:1px solid black;border: 1px solid rgb(0, 0, 0);"&gt;32.4921023&lt;/TD&gt;&lt;TD style="border:1px solid black;border: 1px solid rgb(0, 0, 0);"&gt;18.257729290000043&lt;/TD&gt;&lt;TD style="border:1px solid black;border: 1px solid rgb(0, 0, 0);"&gt;31.36973558892859&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="plain" name="code"&gt;
Running TaskRunner Run Function, Setting Map Extent, Extent Information : xmin = 42.63357982200006 ymin = 18.22364023339286 xmax = 42.67392896300004 ymax = 18.257729290000043
Event onZoomStart Fired Running ZoomProcessStart Extent Information : xmin = 21.544389045436883 ymin = 14.615148099999992 xmax = 68.44102035456311 ymax = 32.4921023
Event onZoom Fired Running DuringZoomProcess Extent Information : xmin = 21.544389045436883 ymin = 14.615148099999992 xmax = 68.44102035456311 ymax = 32.4921023
Running TaskRunner Run Function, Map Extent Set Hiding InfoWindow, Extent Information : xmin = 42.63357982200006 ymin = 18.22364023339286 xmax = 42.67392896300004 ymax = 18.257729290000043
Running TaskRunner Run Function, Info Window Hidden, Extent Information : xmin = 42.63357982200006 ymin = 18.22364023339286 xmax = 42.67392896300004 ymax = 18.257729290000043
Event onZoom Fired Running DuringZoomProcess Extent Information : xmin = 21.570924619179515 ymin = 14.61969379138852 xmax = 68.40859193368212 ymax = 32.47417096901165
Event onZoom Fired Running DuringZoomProcess Extent Information : xmin = 21.63768944906377 ymin = 14.63113097813282 xmax = 68.32700040585112 ymax = 32.4290548439696
Event onZoom Fired Running DuringZoomProcess Extent Information : xmin = 21.738459149533917 ymin = 14.648393388363516 xmax = 68.20385242757146 ymax = 32.36096003395148
Event onZoom Fired Running DuringZoomProcess Extent Information : xmin = 21.88857621331561 ymin = 14.674109276428439 xmax = 68.02039834540446 ymax = 32.25951889746897
Event onZoom Fired Running DuringZoomProcess Extent Information : xmin = 22.078442552690333 ymin = 14.706634436511226 xmax = 67.78836772778556 ymax = 32.131217312287724
Event onZoom Fired Running DuringZoomProcess Extent Information : xmin = 22.311037019885493 ymin = 14.746479162568555 xmax = 67.50412019841431 ymax = 31.97404232832899
Event onZoom Fired Running DuringZoomProcess Extent Information : xmin = 22.61258061950624 ymin = 14.798135258545884 xmax = 67.13561176300948 ymax = 31.770275183715516
Event onZoom Fired Running DuringZoomProcess Extent Information : xmin = 22.898642248396484 ymin = 14.847139206817278 xmax = 66.78602343341373 ymax = 31.576969932416013
Event onZoom Fired Running DuringZoomProcess Extent Information : xmin = 23.2053167616934 ymin = 14.899674256848485 xmax = 66.41124464448994 ymax = 31.36973558892859
Event onkeydown Fired &amp;amp; extentDuringZoom is not undefined Extent Information : xmin = 23.2053167616934 ymin = 14.899674256848485 xmax = 66.41124464448994 ymax = 31.36973558892859
Running Function ZoomToExtent, initializing TaskRunner, Extent Information : xmin = 23.2053167616934 ymin = 14.899674256848485 xmax = 66.41124464448994 ymax = 31.36973558892859
Running Function ZoomToExtent, Starting TaskRunner, Extent Information : xmin = 23.2053167616934 ymin = 14.899674256848485 xmax = 66.41124464448994 ymax = 31.36973558892859
Running Function ZoomToExtent, TaskRunner Started, Extent Information : xmin = 23.2053167616934 ymin = 14.899674256848485 xmax = 66.41124464448994 ymax = 31.36973558892859
Running TaskRunner Run Function, Stopping Task, Extent Information : xmin = 23.2053167616934 ymin = 14.899674256848485 xmax = 66.41124464448994 ymax = 31.36973558892859
Running TaskRunner Run Function, Task Stopped, Extent Information : xmin = 23.2053167616934 ymin = 14.899674256848485 xmax = 66.41124464448994 ymax = 31.36973558892859
Running TaskRunner Run Function, Setting Map Extent, Extent Information : xmin = 23.2053167616934 ymin = 14.899674256848485 xmax = 66.41124464448994 ymax = 31.36973558892859
Running TaskRunner Run Function, Map Extent Set Hiding InfoWindow, Extent Information : xmin = 23.2053167616934 ymin = 14.899674256848485 xmax = 66.41124464448994 ymax = 31.36973558892859
Running TaskRunner Run Function, Info Window Hidden, Extent Information : xmin = 23.2053167616934 ymin = 14.899674256848485 xmax = 66.41124464448994 ymax = 31.36973558892859
Event onZoomFinish Fired Running ZoomProcessEnd Extent Information : xmin = 42.60904146485315 ymin = 18.22364023339286 xmax = 42.698467320146946 ymax = 18.257729290000043
&lt;/PRE&gt;&lt;DIV style="display:none;"&gt; &lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Sun, 05 Feb 2012 11:37:22 GMT</pubDate>
    <dc:creator>Muhammad_Abdul_HadiMuhammad_Ab</dc:creator>
    <dc:date>2012-02-05T11:37:22Z</dc:date>
    <item>
      <title>How stop Map while zooming in or out when a user press escape key?</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/how-stop-map-while-zooming-in-or-out-when-a-user/m-p/423062#M38922</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hi,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I am trying to stop Map while zooming in or out when a user press escape key but unable to do so. &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I am using Javascript API v2.6 as well as all layers are either Dynamic or Feature Layers. &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Please note that I am not using any tiled layer neither Navigation Toolbar.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; I slowed the zoom animation of a map, attached functions to onZoom, onZoomStart and onZoomEnd events. Checked the onkeydown event for escape key.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="plain" name="code"&gt;&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; //Modify zoom animation to ridiculous duration and rate For demonstration purpose only
&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; esriConfig.defaults.map.zoomDuration = 5000; 
&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; esriConfig.defaults.map.zoomRate = 100; 

&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; //Attach Function to onZoom, onZoomEnd and onZoomStart
&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; dojo.connect(map, "onZoom", DuringZoomProcess);
&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; dojo.connect(map, "onZoomEnd", ZoomProcessEnd);
&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; dojo.connect(map, "onZoomStart", ZoomProcessStart);

&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; // Attach Escape Key
&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 key_event_handle = dojo.isIE ? dojo.query('body')[0] : window;
&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; dojo.connect(key_event_handle, "onkeydown", function(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; if (evt.keyCode == dojo.keys.ESCAPE) {
&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; map.infoWindow.hide();
&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; // If Escape key is pressed and extentDuringZoom is not undefined or null
&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; if(extentDuringZoom){
&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; //Zoom to extentDuringZoom
&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; map.setExtent(extentDuringZoom);
&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;&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; });
&lt;/PRE&gt;&lt;DIV style="display:none;"&gt; &lt;/DIV&gt;&lt;BR /&gt;&lt;PRE class="plain" name="code"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ZoomProcessStart: function(extent, zoomFactor, anchor, level) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Clear extentDuringZoom
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mapControl.extentDuringZoom = null;
&amp;nbsp; },
&amp;nbsp;&amp;nbsp;&amp;nbsp; ZoomProcessEnd: function(extent, zoomFactor, anchor, level) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //When Zoom Ends we no longer need extentDuringZoom 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mapControl.extentDuringZoom = null;
&amp;nbsp; },
&amp;nbsp;&amp;nbsp;&amp;nbsp; DuringZoomProcess: function(extent, zoomFactor, anchor) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Get Current Zoom Extent
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mapControl.extentDuringZoom = extent;
&amp;nbsp; },
&lt;/PRE&gt;&lt;DIV style="display:none;"&gt; &lt;/DIV&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Using console messages I found out that&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; 1. When user zooms in a Zoom Animation is started from &lt;/SPAN&gt;&lt;STRONG&gt;Zoom Extent A&lt;/STRONG&gt;&lt;SPAN&gt; to &lt;/SPAN&gt;&lt;STRONG&gt;Zoom Extent B&lt;/STRONG&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;2. If a user presses escape key at &lt;/SPAN&gt;&lt;STRONG&gt;Zoom Extent C &lt;/STRONG&gt;&lt;SPAN&gt;the map stops there but does not load the map correctly.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;3. If user re sizes the map or browser map is loaded at &lt;/SPAN&gt;&lt;STRONG&gt;Zoom Extent B &lt;/STRONG&gt;&lt;SPAN&gt;i.e. the initial target zoom rather than the latter one.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Is there any way to stop first zoom animation and then start the other zoom animation?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;see the following log messages for the scenario&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;TABLE border="1" class="jiveBorder" style="border: 1px solid rgb(0, 0, 0); width: 100%;"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD style="border:1px solid black;border: 1px solid rgb(0, 0, 0);"&gt;&lt;STRONG&gt;Extents&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD style="border:1px solid black;border: 1px solid rgb(0, 0, 0);"&gt;&lt;STRONG&gt;Extent A&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD style="border:1px solid black;border: 1px solid rgb(0, 0, 0);"&gt;&lt;STRONG&gt;Extent B&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD style="border:1px solid black;border: 1px solid rgb(0, 0, 0);"&gt;&lt;STRONG&gt;Extent C&lt;/STRONG&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD style="border:1px solid black;border: 1px solid rgb(0, 0, 0);"&gt;&lt;STRONG&gt;X min &lt;BR /&gt;&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD style="border:1px solid black;border: 1px solid rgb(0, 0, 0);"&gt;21.544389045436883&lt;/TD&gt;&lt;TD style="border:1px solid black;border: 1px solid rgb(0, 0, 0);"&gt;42.63357982200006&lt;/TD&gt;&lt;TD style="border:1px solid black;border: 1px solid rgb(0, 0, 0);"&gt;23.2053167616934 &lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD style="border:1px solid black;border: 1px solid rgb(0, 0, 0);"&gt;&lt;STRONG&gt;Y Min &lt;BR /&gt;&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD style="border:1px solid black;border: 1px solid rgb(0, 0, 0);"&gt;14.615148099999992 &lt;/TD&gt;&lt;TD style="border:1px solid black;border: 1px solid rgb(0, 0, 0);"&gt;18.22364023339286 &lt;/TD&gt;&lt;TD style="border:1px solid black;border: 1px solid rgb(0, 0, 0);"&gt;14.899674256848485 &lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD style="border:1px solid black;border: 1px solid rgb(0, 0, 0);"&gt;&lt;STRONG&gt;X Max &lt;BR /&gt;&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD style="border:1px solid black;border: 1px solid rgb(0, 0, 0);"&gt;68.44102035456311 &lt;/TD&gt;&lt;TD style="border:1px solid black;border: 1px solid rgb(0, 0, 0);"&gt;42.67392896300004 &lt;/TD&gt;&lt;TD style="border:1px solid black;border: 1px solid rgb(0, 0, 0);"&gt;66.41124464448994 &lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD style="border:1px solid black;border: 1px solid rgb(0, 0, 0);"&gt;&lt;STRONG&gt;Y Max &lt;BR /&gt;&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD style="border:1px solid black;border: 1px solid rgb(0, 0, 0);"&gt;32.4921023&lt;/TD&gt;&lt;TD style="border:1px solid black;border: 1px solid rgb(0, 0, 0);"&gt;18.257729290000043&lt;/TD&gt;&lt;TD style="border:1px solid black;border: 1px solid rgb(0, 0, 0);"&gt;31.36973558892859&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="plain" name="code"&gt;
Running TaskRunner Run Function, Setting Map Extent, Extent Information : xmin = 42.63357982200006 ymin = 18.22364023339286 xmax = 42.67392896300004 ymax = 18.257729290000043
Event onZoomStart Fired Running ZoomProcessStart Extent Information : xmin = 21.544389045436883 ymin = 14.615148099999992 xmax = 68.44102035456311 ymax = 32.4921023
Event onZoom Fired Running DuringZoomProcess Extent Information : xmin = 21.544389045436883 ymin = 14.615148099999992 xmax = 68.44102035456311 ymax = 32.4921023
Running TaskRunner Run Function, Map Extent Set Hiding InfoWindow, Extent Information : xmin = 42.63357982200006 ymin = 18.22364023339286 xmax = 42.67392896300004 ymax = 18.257729290000043
Running TaskRunner Run Function, Info Window Hidden, Extent Information : xmin = 42.63357982200006 ymin = 18.22364023339286 xmax = 42.67392896300004 ymax = 18.257729290000043
Event onZoom Fired Running DuringZoomProcess Extent Information : xmin = 21.570924619179515 ymin = 14.61969379138852 xmax = 68.40859193368212 ymax = 32.47417096901165
Event onZoom Fired Running DuringZoomProcess Extent Information : xmin = 21.63768944906377 ymin = 14.63113097813282 xmax = 68.32700040585112 ymax = 32.4290548439696
Event onZoom Fired Running DuringZoomProcess Extent Information : xmin = 21.738459149533917 ymin = 14.648393388363516 xmax = 68.20385242757146 ymax = 32.36096003395148
Event onZoom Fired Running DuringZoomProcess Extent Information : xmin = 21.88857621331561 ymin = 14.674109276428439 xmax = 68.02039834540446 ymax = 32.25951889746897
Event onZoom Fired Running DuringZoomProcess Extent Information : xmin = 22.078442552690333 ymin = 14.706634436511226 xmax = 67.78836772778556 ymax = 32.131217312287724
Event onZoom Fired Running DuringZoomProcess Extent Information : xmin = 22.311037019885493 ymin = 14.746479162568555 xmax = 67.50412019841431 ymax = 31.97404232832899
Event onZoom Fired Running DuringZoomProcess Extent Information : xmin = 22.61258061950624 ymin = 14.798135258545884 xmax = 67.13561176300948 ymax = 31.770275183715516
Event onZoom Fired Running DuringZoomProcess Extent Information : xmin = 22.898642248396484 ymin = 14.847139206817278 xmax = 66.78602343341373 ymax = 31.576969932416013
Event onZoom Fired Running DuringZoomProcess Extent Information : xmin = 23.2053167616934 ymin = 14.899674256848485 xmax = 66.41124464448994 ymax = 31.36973558892859
Event onkeydown Fired &amp;amp; extentDuringZoom is not undefined Extent Information : xmin = 23.2053167616934 ymin = 14.899674256848485 xmax = 66.41124464448994 ymax = 31.36973558892859
Running Function ZoomToExtent, initializing TaskRunner, Extent Information : xmin = 23.2053167616934 ymin = 14.899674256848485 xmax = 66.41124464448994 ymax = 31.36973558892859
Running Function ZoomToExtent, Starting TaskRunner, Extent Information : xmin = 23.2053167616934 ymin = 14.899674256848485 xmax = 66.41124464448994 ymax = 31.36973558892859
Running Function ZoomToExtent, TaskRunner Started, Extent Information : xmin = 23.2053167616934 ymin = 14.899674256848485 xmax = 66.41124464448994 ymax = 31.36973558892859
Running TaskRunner Run Function, Stopping Task, Extent Information : xmin = 23.2053167616934 ymin = 14.899674256848485 xmax = 66.41124464448994 ymax = 31.36973558892859
Running TaskRunner Run Function, Task Stopped, Extent Information : xmin = 23.2053167616934 ymin = 14.899674256848485 xmax = 66.41124464448994 ymax = 31.36973558892859
Running TaskRunner Run Function, Setting Map Extent, Extent Information : xmin = 23.2053167616934 ymin = 14.899674256848485 xmax = 66.41124464448994 ymax = 31.36973558892859
Running TaskRunner Run Function, Map Extent Set Hiding InfoWindow, Extent Information : xmin = 23.2053167616934 ymin = 14.899674256848485 xmax = 66.41124464448994 ymax = 31.36973558892859
Running TaskRunner Run Function, Info Window Hidden, Extent Information : xmin = 23.2053167616934 ymin = 14.899674256848485 xmax = 66.41124464448994 ymax = 31.36973558892859
Event onZoomFinish Fired Running ZoomProcessEnd Extent Information : xmin = 42.60904146485315 ymin = 18.22364023339286 xmax = 42.698467320146946 ymax = 18.257729290000043
&lt;/PRE&gt;&lt;DIV style="display:none;"&gt; &lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 05 Feb 2012 11:37:22 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/how-stop-map-while-zooming-in-or-out-when-a-user/m-p/423062#M38922</guid>
      <dc:creator>Muhammad_Abdul_HadiMuhammad_Ab</dc:creator>
      <dc:date>2012-02-05T11:37:22Z</dc:date>
    </item>
  </channel>
</rss>

