<?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: Clear ArcGISDynamicMapServiceLayer layer def before displaying a different defini in ArcGIS JavaScript Maps SDK Questions</title>
    <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/clear-arcgisdynamicmapservicelayer-layer-def/m-p/598698#M55995</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;I solved it. Works in 3.4 too. I had to use a combination of hide,show and refresh. This post on GIS stack exchange helped get me on track. &lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="http://bit.ly/1035f0m" rel="nofollow" target="_blank"&gt;http://bit.ly/1035f0m&lt;/A&gt;&lt;SPAN&gt;. My code refreshes without needing a pan/zoom as this post suggests. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I only posted the part of my code that really changed from my original question. The changeLayerVisibility function was deleted.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="plain" name="code"&gt;function init() { &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; map = new esri.Map("map", {&amp;nbsp; &amp;nbsp;&amp;nbsp; basemap: "oceans", &amp;nbsp;&amp;nbsp; center: [-98.0, 38.0], &amp;nbsp;&amp;nbsp; zoom: 4, &amp;nbsp;&amp;nbsp; sliderOrientation: "horizontal"&amp;nbsp; &amp;nbsp;&amp;nbsp; });&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; //set the parameters of the service here. Limit the service to show only a specific layer. &amp;nbsp; var imageParameters = new esri.layers.ImageParameters(); &amp;nbsp; imageParameters.layerIds = [5]; &amp;nbsp; imageParameters.layerOption = esri.layers.ImageParameters.LAYER_OPTION_SHOW;&amp;nbsp; &amp;nbsp; //Takes a URL to a non cached map service. &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dmslayer = new esri.layers.ArcGISDynamicMapServiceLayer("http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/Demographics/ESRI_Census_USA/MapServer",{"imageParameters":imageParameters}); &amp;nbsp;&amp;nbsp;&amp;nbsp;&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.addLayer(dmslayer); &amp;nbsp; dmslayer.hide(); // hide the layer initially &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&amp;nbsp;&amp;nbsp; &amp;nbsp; function addMap(dropdown){ &amp;nbsp; //console.log(dropdown); &amp;nbsp; //create the layer definition here &amp;nbsp; var layerDefs = []; &amp;nbsp; layerDefs[5] = "STATE_NAME = '" + dropdown + "'"; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dmslayer.setLayerDefinitions(layerDefs); &amp;nbsp; dmslayer.refresh(); &amp;nbsp; dmslayer.show(); &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; }&lt;/PRE&gt;&lt;DIV style="display:none;"&gt; &lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 25 Mar 2013 19:55:03 GMT</pubDate>
    <dc:creator>MikeOnzay</dc:creator>
    <dc:date>2013-03-25T19:55:03Z</dc:date>
    <item>
      <title>Clear ArcGISDynamicMapServiceLayer layer def before displaying a different definition</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/clear-arcgisdynamicmapservicelayer-layer-def/m-p/598697#M55994</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;I've modified this sample to see if there is a way to change the display of an ArcGISDynamicMapService layer that uses layer definitions. I'm changing the definition through a drop down menu. The previous state boundary does not clear before drawing a new state. I've looked through the forums and the API and tried different ideas. Nothing seems to work. Of course, it could just be that my advanced novice skills are not just advanced enough and I am missing something obvious. &lt;span class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;🙂&lt;/span&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I know that I could use feature layers but in my own project some of my features are just too big and will actually crash the browser. Using a dynamic service is much faster. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I tried to create a jsfiddle instead of posting the code but I could not figure out how to make the drop down menu work. So, I've posted both.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;A class="jive-link-external-small" href="http://jsfiddle.net/mapguymike/aThtT/" rel="nofollow" target="_blank"&gt;http://jsfiddle.net/mapguymike/aThtT/&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="plain" name="code"&gt;&amp;lt;!DOCTYPE html&amp;gt; &amp;lt;html&amp;gt; &amp;nbsp; &amp;lt;head&amp;gt; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;meta http-equiv="Content-Type" content="text/html; charset=utf-8"/&amp;gt; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;meta http-equiv="X-UA-Compatible" content="IE=7,IE=9"&amp;gt; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;!--The viewport meta tag is used to improve the presentation and behavior of the samples&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; on iOS devices--&amp;gt; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;meta name="viewport" content="initial-scale=1, maximum-scale=1,user-scalable=no"&amp;gt; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;title&amp;gt;Create Map with Custom ArcGISDynamicMapServiceLayer Layer Definitions&amp;lt;/title&amp;gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;link rel="stylesheet" href="http://serverapi.arcgisonline.com/jsapi/arcgis/3.3/js/dojo/dijit/themes/claro/claro.css"&amp;gt; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;link rel="stylesheet" href="http://serverapi.arcgisonline.com/jsapi/arcgis/3.3/js/esri/css/esri.css"&amp;gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;script src="http://serverapi.arcgisonline.com/jsapi/arcgis/3.3/"&amp;gt;&amp;lt;/script&amp;gt; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;script&amp;gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dojo.require("esri.map");&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var map, layer, state = 'Iowa';&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; function init() { &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; map = new esri.Map("map", { &amp;nbsp;&amp;nbsp;&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;&amp;nbsp;&amp;nbsp; center: [-98.258, 38.236], &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; zoom: 4 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; });&amp;nbsp; }&amp;nbsp;&amp;nbsp;&amp;nbsp; function changeLayerVisibility(){ &amp;nbsp; console.log('inside clv'); &amp;nbsp; var layerIdsArr = map.layerIds; &amp;nbsp; layer = map.getLayer(layerIdsArr["census"]); &amp;nbsp; layer.hide();&amp;nbsp; }&amp;nbsp;&amp;nbsp;&amp;nbsp; function addMap(state){&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var imageParameters = new esri.layers.ImageParameters();&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var layerDefs = []; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; layerDefs[5] = "STATE_NAME='" + state + "'"; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; imageParameters.layerDefinitions = layerDefs;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; imageParameters.layerIds = [5]; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; imageParameters.layerOption = esri.layers.ImageParameters.LAYER_OPTION_SHOW; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; imageParameters.transparent = true;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var dynamicMapServiceLayer = new esri.layers.ArcGISDynamicMapServiceLayer("http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/Demographics/ESRI_Census_USA/MapServer", {"imageParameters":imageParameters, id:"census"});&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; map.addLayer(dynamicMapServiceLayer); &amp;nbsp; layer.show(); &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dojo.ready(init); &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/script&amp;gt; &amp;nbsp; &amp;lt;/head&amp;gt; &amp;nbsp; &amp;lt;body class="claro"&amp;gt; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;div id="map" style="width:900px; height:600px;"&amp;gt;&amp;lt;/div&amp;gt;&amp;nbsp; &amp;lt;div style="position:absolute;top:10px;right:250px;z-index:999;"&amp;gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;form&amp;gt;&amp;lt;select id="ddbox"&amp;nbsp; onClick="changeLayerVisibility()" onChange="addMap(this.value)" data-dojo-type="dijit.form.Select"&amp;gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;option value = "" selected="selected"&amp;gt;Select...&amp;lt;/option&amp;gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;option value="Oregon" id = "1"&amp;gt;Oregon&amp;lt;/option&amp;gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;option value="Colorado"&amp;nbsp; id = "2"&amp;gt;Colorado&amp;lt;/option&amp;gt; &amp;nbsp;&amp;nbsp; &amp;lt;option value="Iowa"&amp;nbsp; id = "3"&amp;gt;Iowa&amp;lt;/option&amp;gt; &amp;nbsp;&amp;nbsp; &amp;lt;option value="Alabama"&amp;nbsp; id = "4"&amp;gt;Alabama&amp;lt;/option&amp;gt; &amp;nbsp;&amp;nbsp; &amp;lt;option value="Maine"&amp;nbsp; id = "5"&amp;gt;Maine&amp;lt;/option&amp;gt; &amp;nbsp; &amp;lt;/select&amp;gt;&amp;lt;/form&amp;gt; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/div&amp;gt;&amp;nbsp; &amp;nbsp; &amp;lt;/body&amp;gt; &amp;lt;/html&amp;gt;&lt;/PRE&gt;&lt;DIV style="display:none;"&gt; &lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 20 Mar 2013 15:55:14 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/clear-arcgisdynamicmapservicelayer-layer-def/m-p/598697#M55994</guid>
      <dc:creator>MikeOnzay</dc:creator>
      <dc:date>2013-03-20T15:55:14Z</dc:date>
    </item>
    <item>
      <title>Re: Clear ArcGISDynamicMapServiceLayer layer def before displaying a different defini</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/clear-arcgisdynamicmapservicelayer-layer-def/m-p/598698#M55995</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;I solved it. Works in 3.4 too. I had to use a combination of hide,show and refresh. This post on GIS stack exchange helped get me on track. &lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="http://bit.ly/1035f0m" rel="nofollow" target="_blank"&gt;http://bit.ly/1035f0m&lt;/A&gt;&lt;SPAN&gt;. My code refreshes without needing a pan/zoom as this post suggests. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I only posted the part of my code that really changed from my original question. The changeLayerVisibility function was deleted.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="plain" name="code"&gt;function init() { &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; map = new esri.Map("map", {&amp;nbsp; &amp;nbsp;&amp;nbsp; basemap: "oceans", &amp;nbsp;&amp;nbsp; center: [-98.0, 38.0], &amp;nbsp;&amp;nbsp; zoom: 4, &amp;nbsp;&amp;nbsp; sliderOrientation: "horizontal"&amp;nbsp; &amp;nbsp;&amp;nbsp; });&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; //set the parameters of the service here. Limit the service to show only a specific layer. &amp;nbsp; var imageParameters = new esri.layers.ImageParameters(); &amp;nbsp; imageParameters.layerIds = [5]; &amp;nbsp; imageParameters.layerOption = esri.layers.ImageParameters.LAYER_OPTION_SHOW;&amp;nbsp; &amp;nbsp; //Takes a URL to a non cached map service. &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dmslayer = new esri.layers.ArcGISDynamicMapServiceLayer("http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/Demographics/ESRI_Census_USA/MapServer",{"imageParameters":imageParameters}); &amp;nbsp;&amp;nbsp;&amp;nbsp;&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.addLayer(dmslayer); &amp;nbsp; dmslayer.hide(); // hide the layer initially &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&amp;nbsp;&amp;nbsp; &amp;nbsp; function addMap(dropdown){ &amp;nbsp; //console.log(dropdown); &amp;nbsp; //create the layer definition here &amp;nbsp; var layerDefs = []; &amp;nbsp; layerDefs[5] = "STATE_NAME = '" + dropdown + "'"; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dmslayer.setLayerDefinitions(layerDefs); &amp;nbsp; dmslayer.refresh(); &amp;nbsp; dmslayer.show(); &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; }&lt;/PRE&gt;&lt;DIV style="display:none;"&gt; &lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 25 Mar 2013 19:55:03 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/clear-arcgisdynamicmapservicelayer-layer-def/m-p/598698#M55995</guid>
      <dc:creator>MikeOnzay</dc:creator>
      <dc:date>2013-03-25T19:55:03Z</dc:date>
    </item>
  </channel>
</rss>

