ESRI JS API 3.14 -Remove Layer Example

ESRI JS API 3.14 http://gis.stackexchange.com/questions/179971/not-able-to-remove-layer-from-map

by Alex Azuero

HTML

<script src="https://js.arcgis.com/3.14/init.js"></script>
<link rel="stylesheet" href="https://js.arcgis.com/3.14/esri/css/esri.css">
<link rel="stylesheet" href="https://js.arcgis.com/3.14/dijit/themes/claro/claro.css">
<script type="text/javascript">
    var dojoConfig = {
        async: true
    };
</script>
<div id="map"></div>
<div id="buttonContainer"><button id="removeButton">Remove</button></div>

CSS

body, html {
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
}
#map {
    height: 100%;
    width: 100%;
    margin: 0px;
}

#buttonContainer {
  position: absolute;
  top: 10px;
  right: 10px;
}

JavaScript

require([
    'esri/map',
    'dojo/on',
    'dojo/dom',
    'esri/layers/ArcGISDynamicMapServiceLayer'], function (
Map, on, dom, ArcGISDynamicMapServiceLayer) {
    var map = new Map("map", {
        center: [-114, 33.4],
        zoom: 5,
        basemap: "gray"
    });

    var layer1 = new ArcGISDynamicMapServiceLayer('https://sampleserver6.arcgisonline.com/arcgis/rest/services/LocalGovernment/CitizenRequests/MapServer');
    
    map.addLayer(layer1);
    
    on(dom.byId('removeButton'), 'click', function() {
      // code from http://gis.stackexchange.com/questions/179971/not-able-to-remove-layer-from-map
      var a = map.layerIds;
      var b = map.getLayer(a[1]);
      map.removeLayer(b);
    });
});