<?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: Toggle Layers in ArcGIS JavaScript Maps SDK Questions</title>
    <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/toggle-layers/m-p/716230#M66580</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;I am not sure where your "change map" button is, but assuming you have something in other code that actually calls the changemap function&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I would just do&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;
function changeMap(layer) { 
&amp;nbsp;&amp;nbsp; dojo.forEach(map.layerIds, dojo.hitch(this, function(layerId){
&amp;nbsp;&amp;nbsp; map.getLayer(layerId).hide();
&amp;nbsp;&amp;nbsp; }));

&amp;nbsp; map.getLayer(layer).show();

}

&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Sun, 12 Dec 2021 06:40:37 GMT</pubDate>
    <dc:creator>JeffPace</dc:creator>
    <dc:date>2021-12-12T06:40:37Z</dc:date>
    <item>
      <title>Toggle Layers</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/toggle-layers/m-p/716227#M66577</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hello,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I'm working on a campus map for my university and have run into a problem with toggling layers.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I want to allow a user to click on a button to bring up a layer, and close any existing layers at the same time.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;In other words, if the user wants to view the layout of the basement, but the 2nd floor layer is open, when the user clicks on the basement layer the 2nd floor layer closes. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Here is the code for my layers, if anyone has any ideas please let me know!&lt;/SPAN&gt;&lt;PRE class="plain" name="code"&gt; dojo.require("esri.map");
 dojo.require("esri.layers.FeatureLayer");
 dojo.require("dijit.form.Button");

 var map;
 var First, Second, Third, Basement;

function init() 
{

 map = new esri.Map("mapDiv");

 var spatialRef = new esri.SpatialReference({wkid:102100});
 var startExtent = new esri.geometry.Extent();
 startExtent.xmin = -9878803;
 startExtent.ymin = 5287431;
 startExtent.xmax = -9878680;
 startExtent.ymax = 5287586;
 startExtent.SpatialReference = spatialRef;

 map.setExtent(startExtent);
&amp;nbsp;&amp;nbsp;&amp;nbsp; var basemap = new esri.layers.ArcGISTiledMapServiceLayer("http://studentgisserver.uww.edu/ArcGIS/rest/services/uwwbase/MapServer", {id:basemap});
&amp;nbsp;&amp;nbsp;&amp;nbsp; map.addLayer(basemap);

 Basement = initLayer("http://studentgisserver.uww.edu/ArcGIS/rest/services/uphamhall2/MapServer/3", "Basement");
 First = initLayer("http://studentgisserver.uww.edu/ArcGIS/rest/services/uphamhall2/MapServer/2", "First");
 Second = initLayer("http://studentgisserver.uww.edu/ArcGIS/rest/services/uphamhall2/MapServer/1", "Second");
 Third = initLayer("http://studentgisserver.uww.edu/ArcGIS/rest/services/uphamhall2/MapServer/0", "Third");
}
 //problem is these functions somewhere \/ \/

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; function initLayer(url, id) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var layer = new esri.layers.FeatureLayer(url, {id:id, visible:false});
&amp;nbsp; map.addLayer(layer);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return layer;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; function changeMap(layer) {&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //function used in button. loads layers, does not unload
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //hideImageTiledLayers(layer);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (var i=0; i&amp;lt;layer.length; i++) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; layer&lt;I&gt;.show();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&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 hideImageTiledLayers(layer) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (var j=0, jl=map.layerIds.length; j&amp;lt;jl; j++) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var layer = map.getLayer(map.layerIds&lt;J&gt;);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (dojo.indexOf(layer, layer) == -1) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; layer.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; }

dojo.connect(map,"onLoad");

dojo.addOnLoad(init);
&lt;/J&gt;&lt;/I&gt;&lt;/PRE&gt;&lt;DIV style="display:none;"&gt; &lt;/DIV&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks!&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 04 Aug 2011 18:15:46 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/toggle-layers/m-p/716227#M66577</guid>
      <dc:creator>deleted-user-K_IRAXrpGKsG</dc:creator>
      <dc:date>2011-08-04T18:15:46Z</dc:date>
    </item>
    <item>
      <title>Re: Toggle Layers</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/toggle-layers/m-p/716228#M66578</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;function changeMap(layer) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //hideImageTiledLayers(layer);
&lt;/PRE&gt;&lt;/BLOCKQUOTE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;There's a comment before the hideImage function, so it doesn't actually run - could that be it?&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 12 Dec 2021 06:40:34 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/toggle-layers/m-p/716228#M66578</guid>
      <dc:creator>StephenLead</dc:creator>
      <dc:date>2021-12-12T06:40:34Z</dc:date>
    </item>
    <item>
      <title>Re: Toggle Layers</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/toggle-layers/m-p/716229#M66579</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Thanks for the help, but that isn't what I'm looking for. That doesn't allow me to toggle 4 layers.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 05 Aug 2011 15:34:04 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/toggle-layers/m-p/716229#M66579</guid>
      <dc:creator>deleted-user-K_IRAXrpGKsG</dc:creator>
      <dc:date>2011-08-05T15:34:04Z</dc:date>
    </item>
    <item>
      <title>Re: Toggle Layers</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/toggle-layers/m-p/716230#M66580</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;I am not sure where your "change map" button is, but assuming you have something in other code that actually calls the changemap function&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I would just do&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;
function changeMap(layer) { 
&amp;nbsp;&amp;nbsp; dojo.forEach(map.layerIds, dojo.hitch(this, function(layerId){
&amp;nbsp;&amp;nbsp; map.getLayer(layerId).hide();
&amp;nbsp;&amp;nbsp; }));

&amp;nbsp; map.getLayer(layer).show();

}

&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 12 Dec 2021 06:40:37 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/toggle-layers/m-p/716230#M66580</guid>
      <dc:creator>JeffPace</dc:creator>
      <dc:date>2021-12-12T06:40:37Z</dc:date>
    </item>
    <item>
      <title>Re: Toggle Layers</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/toggle-layers/m-p/716231#M66581</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Thanks Jeff, but that code has map.getLayer(layer).show(); is coming up as undefined.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 05 Aug 2011 16:10:55 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/toggle-layers/m-p/716231#M66581</guid>
      <dc:creator>deleted-user-K_IRAXrpGKsG</dc:creator>
      <dc:date>2011-08-05T16:10:55Z</dc:date>
    </item>
    <item>
      <title>Re: Toggle Layers</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/toggle-layers/m-p/716232#M66582</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;Thanks Jeff, but that code has map.getLayer(layer).show(); is coming up as undefined.&lt;/BLOCKQUOTE&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;put alert(layer); right before it, and makes sure you are passing in your layer name correctly.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 05 Aug 2011 16:36:15 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/toggle-layers/m-p/716232#M66582</guid>
      <dc:creator>JeffPace</dc:creator>
      <dc:date>2011-08-05T16:36:15Z</dc:date>
    </item>
  </channel>
</rss>

