<?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 watch for layers being turned on/off (4.3) in ArcGIS JavaScript Maps SDK Questions</title>
    <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/watch-for-layers-being-turned-on-off-4-3/m-p/756560#M69946</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I need to run a little code everytime a layer is turned on or off.&amp;nbsp; Users will control layers through a LayerList widget.&amp;nbsp; I've seen another post on watching layer lists(&lt;A href="https://community.esri.com/message/683587-watch-on-layerlist-not-working-43?q=watch"&gt;https://community.esri.com/message/683587-watch-on-layerlist-not-working-43?q=watch&lt;/A&gt;&amp;nbsp;&lt;STRONG&gt;)&lt;/STRONG&gt;, but it doesn't seem to cover what I need.&amp;nbsp; I've also tried map.layers.on("change", function(){ ... }); and about everything else I can think of, but just can't trigger a response when I click a layer on or off.&amp;nbsp; Thanks for your suggestions!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Sun, 28 May 2017 23:04:19 GMT</pubDate>
    <dc:creator>DataSteward</dc:creator>
    <dc:date>2017-05-28T23:04:19Z</dc:date>
    <item>
      <title>watch for layers being turned on/off (4.3)</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/watch-for-layers-being-turned-on-off-4-3/m-p/756560#M69946</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I need to run a little code everytime a layer is turned on or off.&amp;nbsp; Users will control layers through a LayerList widget.&amp;nbsp; I've seen another post on watching layer lists(&lt;A href="https://community.esri.com/message/683587-watch-on-layerlist-not-working-43?q=watch"&gt;https://community.esri.com/message/683587-watch-on-layerlist-not-working-43?q=watch&lt;/A&gt;&amp;nbsp;&lt;STRONG&gt;)&lt;/STRONG&gt;, but it doesn't seem to cover what I need.&amp;nbsp; I've also tried map.layers.on("change", function(){ ... }); and about everything else I can think of, but just can't trigger a response when I click a layer on or off.&amp;nbsp; Thanks for your suggestions!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 28 May 2017 23:04:19 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/watch-for-layers-being-turned-on-off-4-3/m-p/756560#M69946</guid>
      <dc:creator>DataSteward</dc:creator>
      <dc:date>2017-05-28T23:04:19Z</dc:date>
    </item>
    <item>
      <title>Re: watch for layers being turned on/off (4.3)</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/watch-for-layers-being-turned-on-off-4-3/m-p/756561#M69947</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;There is this sandbox sample "&lt;A href="https://developers.arcgis.com/javascript/latest/sample-code/sandbox/index.html?sample=watch-for-changes" rel="nofollow noopener noreferrer" target="_blank"&gt;Watch For Changes&lt;/A&gt;". &amp;nbsp;I believe, this snippet taken from the same sample should work for you too. &amp;nbsp;Still if it doesn't work then i think there could&amp;nbsp;be some other error in script that is preventing this event to trigger.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;&lt;CODE&gt;&lt;SPAN class="comment token"&gt;// Listen to layer change events on all of map's layers &lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="comment token"&gt;// Only listening to layer added event in this case. &lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; map&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;allLayers&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;&lt;SPAN class="token function"&gt;on&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;"change"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="keyword token"&gt;function&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;event&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="comment token"&gt;// change event fires after an item has been added, moved or removed from the collection. &lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="comment token"&gt;// event.moved - an array of moved layers&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="comment token"&gt;// event.removed - an array of removed layers&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="comment token"&gt;// event.added returns an array of added layers&amp;nbsp; &lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;if&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;event&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;added&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;length &lt;SPAN class="operator token"&gt;&amp;gt;&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; event&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;added&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;&lt;SPAN class="token function"&gt;forEach&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="keyword token"&gt;function&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;layer&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;var&lt;/SPAN&gt; info &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"&amp;lt;br&amp;gt; &amp;lt;span&amp;gt; layer added: &amp;lt;/span&amp;gt; "&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;+&lt;/SPAN&gt; layer&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;title&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="token function"&gt;displayMessage&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;info&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 12 Dec 2021 08:05:27 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/watch-for-layers-being-turned-on-off-4-3/m-p/756561#M69947</guid>
      <dc:creator>MirHashmi</dc:creator>
      <dc:date>2021-12-12T08:05:27Z</dc:date>
    </item>
    <item>
      <title>Re: watch for layers being turned on/off (4.3)</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/watch-for-layers-being-turned-on-off-4-3/m-p/756562#M69948</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks! But... I don't believe that will work.&amp;nbsp; I've tried adding that code and similar, but am getting no response.&amp;nbsp; My console does not indicate any javascript errors.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;SPAN style="font-family: courier new,courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; map.allLayers.on("change", function(event) {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new,courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; alert('allLayers change');&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new,courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; });&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;The reason I don't think that code is relevant is that it is detecting change on map.allLayers but the changes I'm looking for are about visibility of the layers within the map.&amp;nbsp; Turning a layer off from the layerList widget doesn't 'remove' it from the map, it just sets its visibility to false.&amp;nbsp; The sandbox example unfortunately just demonstrates detecting the initial inclusion of a layer in the map, not subsequent client-triggered changes to map layers.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thus I've tried watching map.layers but that doesn't detect the changes to visibility either.&amp;nbsp; I'm not finding the watch system to be very intuitive... should I apply a watch to each layer individually?&amp;nbsp; And if so, how?&amp;nbsp; I'm using both FeatureLayers and ImageLayers.&amp;nbsp; I'd also like to detect a change to the basemap.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 30 May 2017 17:46:25 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/watch-for-layers-being-turned-on-off-4-3/m-p/756562#M69948</guid>
      <dc:creator>DataSteward</dc:creator>
      <dc:date>2017-05-30T17:46:25Z</dc:date>
    </item>
    <item>
      <title>Re: watch for layers being turned on/off (4.3)</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/watch-for-layers-being-turned-on-off-4-3/m-p/756563#M69949</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;.on('changes'... will only work on items being added, removed, or moved. &amp;nbsp;If you're just concerned with visibility, you need to watch the visible property on each layer. &amp;nbsp;Here's an example of how you might do this:&amp;nbsp;&lt;A class="link-titled" href="https://jsbin.com/cupiquwunu/edit?html,output" title="https://jsbin.com/cupiquwunu/edit?html,output"&gt;JS Bin - Collaborative JavaScript Debugging&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;There's a few things to note here:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;I'm watching for changes on the map.layers collection, because a layer might be added or removed from the map, in which case I want to start watching its visible property (if added) or remove an old watcher (if removed).&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I'm using a &lt;A href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map"&gt;Map&lt;/A&gt; to keep track of watchers. &amp;nbsp;This is just a convenient way to associate&amp;nbsp;a layer to a watcher. &amp;nbsp;You don't have to do this if you don't care about cleaning up old watchers.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I'm using the esri/core/watchUtils watch method in order to check for changes on the visible property on each layer.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You can test this by clicking on the eye icons in the layer list and looking at the console, it should print the layer name and its visibility when it changes. &amp;nbsp;If you want to include basemaps, just change map.layers to map.allLayers everywhere you see it in the sample.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 30 May 2017 18:07:46 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/watch-for-layers-being-turned-on-off-4-3/m-p/756563#M69949</guid>
      <dc:creator>ThomasSolow</dc:creator>
      <dc:date>2017-05-30T18:07:46Z</dc:date>
    </item>
    <item>
      <title>Re: watch for layers being turned on/off (4.3)</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/watch-for-layers-being-turned-on-off-4-3/m-p/756564#M69950</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks - that gave me what I needed!&amp;nbsp; I've implemented it just a little differently.&amp;nbsp; For the record...&lt;/P&gt;&lt;P&gt;&lt;CODE&gt;require([&lt;BR /&gt;&amp;nbsp; "esri/Map",&lt;BR /&gt;&amp;nbsp; "esri/views/MapView",&lt;BR /&gt;&amp;nbsp; "esri/geometry/Extent",&lt;BR /&gt;&amp;nbsp; "esri/core/watchUtils",&lt;BR /&gt;&amp;nbsp; ...&lt;BR /&gt;&amp;nbsp; ], &lt;BR /&gt;&amp;nbsp; function(Map,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MapView, &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Extent,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; watchUtils,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ...&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; var map = new Map({&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; basemap: "topo",&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; });&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; var view = new MapView({&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; container: "map-container",&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; map: map,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ...&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; });&lt;BR /&gt;&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //dpLayers brings a set of layers with their details from&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //a database via JSON.&amp;nbsp; mapLayers is an array I keep for various&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //reference purposes, but is very handy for adding the watches I &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //was asking about in this post&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; var mapLayers = [];&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; var dpLayersLen = dpLayers.length;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (var i = 0; i &amp;lt; dpLayersLen; i++) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; switch (dpLayers&lt;I&gt;.layerType) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; case 'raster':&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var imgLayer = new ImageryLayer({&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; title: dpLayers&lt;I&gt;.title,&lt;BR /&gt; ...&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; });&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mapLayers.push(imgLayer);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; map.add(mapLayers&lt;I&gt;);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; break;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; case 'vector':&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var featureLayer = new FeatureLayer({&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; title: dpLayers&lt;I&gt;.title,&lt;BR /&gt; ...&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; });&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mapLayers.push(featureLayer);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; map.add(mapLayers&lt;I&gt;);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; break;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; var c = mapLayers.length;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (var i = 0; i &amp;lt; dpLayersLen; i++) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; watchUtils.watch(mapLayers&lt;I&gt;, 'visible', function () { alert('Layer visibility changed!')});&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&lt;/I&gt;&lt;/I&gt;&lt;/I&gt;&lt;/I&gt;&lt;/I&gt;&lt;/I&gt;&lt;/CODE&gt;&lt;I&gt;&lt;I&gt;&lt;I&gt;&lt;I&gt;&lt;I&gt;&lt;I&gt;&lt;/I&gt;&lt;/I&gt;&lt;/I&gt;&lt;/I&gt;&lt;/I&gt;&lt;/I&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 30 May 2017 19:03:01 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/watch-for-layers-being-turned-on-off-4-3/m-p/756564#M69950</guid>
      <dc:creator>DataSteward</dc:creator>
      <dc:date>2017-05-30T19:03:01Z</dc:date>
    </item>
  </channel>
</rss>

