<?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: FeatureLayer issue in ArcGIS JavaScript Maps SDK Questions</title>
    <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/featurelayer-issue/m-p/458296#M42320</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hi all,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I made some changes to the code and most of the issues are taken care of, except the infoWindow issue as described in my original post. Can someone help resolve this issue? &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Here is the relevant code:&lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;
function init() {
...
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; infoTemplate = new esri.InfoTemplate();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; stateFeatureLayer = new esri.layers.FeatureLayer("http://localhost:6080/arcgis/rest/services/State_profile/MapServer/1", {
&amp;nbsp; mode : esri.layers.FeatureLayer.MODE_ONDEMAND,
&amp;nbsp; outFields : ["*"],
&amp;nbsp; id : "stateFeatureLayer",
&amp;nbsp; infoTemplate : infoTemplate
 });
 distFeatureLayer = new esri.layers.FeatureLayer("http://localhost:6080/arcgis/rest/services/District_profile/MapServer/1", {
&amp;nbsp; mode : esri.layers.FeatureLayer.MODE_ONDEMAND,
&amp;nbsp; outFields : ["*"],
&amp;nbsp; id : "distFeatureLayer",
&amp;nbsp; infoTemplate : infoTemplate
 });
...
}

function queryParam(indc, indValue, flag, geog) { //indc=Indicator, indValue=indicator value, flag returns 'true' or 'false' depending on unit of analysis, geog is the selected State of India using a pull down menu
 var newTitle;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; query = new esri.tasks.Query();
 query.returnGeometry = true;
 query.outFields = ["*"];
 query.where = "1=1";
 var resultContent = "&amp;lt;tr&amp;gt;" + indc + ": &amp;lt;td&amp;gt;${" + indValue + ":formatNumber}&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;";
 var renderer = new esri.renderer.ClassBreaksRenderer(symbol, indValue);
 renderer.addBreak(0.01, 19, symbolSet31);
 renderer.addBreak(19, 27, symbolSet32);
 renderer.addBreak(27, Infinity, symbolSet33);
 if (flag === true) {
&amp;nbsp; infoTemplate.setTitle("&amp;lt;tr&amp;gt;State: &amp;lt;td&amp;gt;${State_name}&amp;lt;/tr&amp;gt;&amp;lt;/td&amp;gt;");
&amp;nbsp; stateFeatureLayer.setRenderer(renderer);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&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(distFeatureLayer){distFeatureLayer.hide();}
&amp;nbsp; stateFeatureLayer.show();
&amp;nbsp; newTitle = indc + " by State";
&amp;nbsp; dojo.connect(stateFeatureLayer, "onClick", showHighlight);
 } else if (flag === false) {
&amp;nbsp; infoTemplate.setTitle("&amp;lt;tr&amp;gt;DISTRICT: &amp;lt;td&amp;gt;${Dist_name}&amp;lt;/tr&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tr&amp;gt;STATE: &amp;lt;td&amp;gt;${State_name}&amp;lt;/tr&amp;gt;&amp;lt;/td&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;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (geog != "All India") { //if a single State is selected. the code selects districts (sub-State) to display within the selected State
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; distFeatureLayer.setDefinitionExpression("State_name= '" + geog + "'");
&amp;nbsp;&amp;nbsp; distFeatureLayer.selectFeatures(query, esri.layers.FeatureLayer.SELECTION_NEW);
&amp;nbsp; } else if (geog == "All India") { //if "All India" is selected using the pull down menu. This displays all districts in the country
&amp;nbsp;&amp;nbsp; distFeatureLayer.clearSelection();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; distFeatureLayer.setDefinitionExpression(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; distFeatureLayer.setRenderer(renderer);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&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(stateFeatureLayer){stateFeatureLayer.hide();}
&amp;nbsp; distFeatureLayer.show();
&amp;nbsp; newTitle = indc + " by District";
&amp;nbsp; dojo.connect(distFeatureLayer, "onClick", showHighlight);
 }
 infoTemplate.setContent(resultContent);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; showLegend(newTitle, flag);
}

function showLegend(title, flag){
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var legendDijit = dijit.byId("legend");
 dojo.connect(mapM, "onLayersAddResult", function(results) {
&amp;nbsp; var layerInfo = dojo.map(results, function(layer, index) {
&amp;nbsp;&amp;nbsp; if (flag == true) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return {layer : stateFeatureLayer, title :title};
&amp;nbsp;&amp;nbsp; } else if (flag == false) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return {layer : distFeatureLayer, title : title};
&amp;nbsp;&amp;nbsp; }
&amp;nbsp; });
&amp;nbsp; if (layerInfo.length &amp;gt; 0) {
&amp;nbsp;&amp;nbsp; if (legendDijit) {
&amp;nbsp;&amp;nbsp;&amp;nbsp; legendDijit.destroyRecursive(true);
&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp; legendDijit = new esri.dijit.Legend({
&amp;nbsp;&amp;nbsp;&amp;nbsp; map : mapM,
&amp;nbsp;&amp;nbsp;&amp;nbsp; layerInfos : layerInfo
&amp;nbsp;&amp;nbsp; }, "legend");
&amp;nbsp;&amp;nbsp; legendDijit.startup();
&amp;nbsp;&amp;nbsp; legendDijit.refresh();
&amp;nbsp; }
 });
 if (flag == true) {
&amp;nbsp; mapM.addLayers([stateFeatureLayer]);
 } else if (flag == false) {
&amp;nbsp; mapM.addLayers([distFeatureLayer]);
 }
}

function showHighlight(evt){
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mapM.graphics.clear();
 var content = evt.graphic.getContent();
 mapM.infoWindow.setContent(content);
 var title = evt.graphic.getTitle();
 mapM.infoWindow.setTitle(title);
 mapM.infoWindow.resize(280, 75);
 var highlightGraphic = new esri.Graphic(evt.graphic.geometry, highlightSymbol);
 mapM.graphics.add(highlightGraphic);
 mapM.infoWindow.show(evt.screenPoint, mapM.getInfoWindowAnchor(evt.screenPoint));
 dojo.connect(mapM.infoWindow, "onHide", clearGraphics);
}
&lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BLOCKQUOTE class="jive-quote"&gt; Hi,&amp;nbsp; &lt;BR /&gt;I resolved the second issue by setting the definition expression to 'null' when "geog=='All India'": distFeatureLayer.setDefinitionExpression(null);&amp;nbsp; &lt;BR /&gt;However, a new issue has cropped up: infoWindow works at the very first selection. Correct legend shows up as well at the first selection. Any subsequent selection does not bring up both. Also, for any subsequent selection of a different indicator value, anuncaught error shows up:"&amp;nbsp; &lt;SPAN style="color:&amp;quot;#B22222&amp;quot;;"&gt;Uncaught TypeError: Cannot read property 'firstChild' of null&lt;/SPAN&gt;". I have checked my code and I do not find any reference to firstChild in my code. Additionally, switching between State and District brings up another uncaught error: "&amp;nbsp; &lt;SPAN style="color:&amp;quot;#B22222&amp;quot;;"&gt;Uncaught TypeError: Cannot call method '_decRefCount' of null&lt;/SPAN&gt;". I am unable to make sense of all this. Has anybody faced a similar situation? I'll be happy to share my code if someone might want to look at this issue.&amp;nbsp; &lt;BR /&gt;Thanks&amp;nbsp; &lt;BR /&gt;Samir&lt;/BLOCKQUOTE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Sat, 11 Dec 2021 20:24:20 GMT</pubDate>
    <dc:creator>SamirGambhir</dc:creator>
    <dc:date>2021-12-11T20:24:20Z</dc:date>
    <item>
      <title>FeatureLayer issue</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/featurelayer-issue/m-p/458293#M42317</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hi all,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I have this small piece of code which should switch between two feature layers (mode set as 'MODE_ONDEMAND') and display one depending on the selection. Once displayed, it should also show the infoWindow. Though it is a small piece of code, I believe I am missing something because of which it keeps giving me errors. Here is the code:&lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="plain" name="code"&gt;function queryParam(indc, indValue, flag, geog) { //indc=Indicator, indValue=indicator value, flag returns 'true' or 'false' depending on unit of analysis, geog is the selected State of India using a pull down menu
 query = new esri.tasks.Query();
 query.returnGeometry = true;
 query.outFields = ["*"];
 query.where = "1=1";
 var resultContent = "&amp;lt;tr&amp;gt;" + indc + ": &amp;lt;td&amp;gt;${" + indValue + ":formatNumber}&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;";
 var renderer = new esri.renderer.ClassBreaksRenderer(symbol, indValue);
 renderer.addBreak(0.01, 19, symbolSet31);
 renderer.addBreak(19, 27, symbolSet32);
 renderer.addBreak(27, Infinity, symbolSet33);
 if (flag === true) {
&amp;nbsp; infoTemplate.setTitle("&amp;lt;tr&amp;gt;State: &amp;lt;td&amp;gt;${State_name}&amp;lt;/tr&amp;gt;&amp;lt;/td&amp;gt;");
&amp;nbsp; stateFeatureLayer.setRenderer(renderer);
&amp;nbsp; mapM.addLayer(stateFeatureLayer);
 } else if (flag === false) {
&amp;nbsp; infoTemplate.setTitle("&amp;lt;tr&amp;gt;DISTRICT: &amp;lt;td&amp;gt;${Dist_name}&amp;lt;/tr&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tr&amp;gt;STATE: &amp;lt;td&amp;gt;${State_name}&amp;lt;/tr&amp;gt;&amp;lt;/td&amp;gt;");
&amp;nbsp; distFeatureLayer.setRenderer(renderer);
&amp;nbsp; if (geog != "All India") { //if a single State is selected. the code selects districts (sub-State) to display within the selected State
&amp;nbsp;&amp;nbsp; distFeatureLayer.setDefinitionExpression("State_name= '" + geog + "'");
&amp;nbsp;&amp;nbsp; distFeatureLayer.selectFeatures(query, esri.layers.FeatureLayer.SELECTION_NEW);
&amp;nbsp;&amp;nbsp; dojo.connect(distFeatureLayer, "onSelectionComplete", mapM.addLayer(distFeatureLayer));
&amp;nbsp; } else if (geog == "All India") { //if "All India" is selected using the pull down menu. This displays all districts in the country
&amp;nbsp;&amp;nbsp; distFeatureLayer.clearSelection();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mapM.addLayer(distFeatureLayer);
&amp;nbsp; }
 }
 infoTemplate.setContent(resultContent);
}&lt;/PRE&gt;&lt;DIV style="display:none;"&gt; &lt;/DIV&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I get the following errors, primarily when flag==false:&lt;/SPAN&gt;&lt;BR /&gt;&lt;UL&gt;&lt;BR /&gt;&lt;LI&gt;The first State selected works well but shows a 'type error' in the web console. Changing &lt;STRONG&gt;geog&lt;/STRONG&gt; from one state to another displays the features of the next State but does not bring up the infoWindow when clicked on the map. This shows a 'type error' too.&lt;/LI&gt;&lt;BR /&gt;&lt;LI&gt;Selecting "All India" does not remove the previous selection and does not display all features.&lt;/LI&gt;&lt;BR /&gt;&lt;/UL&gt;&lt;SPAN&gt;Please see if you can test this code using your data. I'll be happy to provide the underlying html document.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Samir&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 22 Oct 2012 14:32:36 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/featurelayer-issue/m-p/458293#M42317</guid>
      <dc:creator>SamirGambhir</dc:creator>
      <dc:date>2012-10-22T14:32:36Z</dc:date>
    </item>
    <item>
      <title>Re: FeatureLayer issue</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/featurelayer-issue/m-p/458294#M42318</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;Please look at this code and help me resolve this issue. I have spent a lot of time on this with no results. &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Samir&lt;/SPAN&gt;&lt;BR /&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;Hi all,&lt;BR /&gt;I have this small piece of code which should switch between two feature layers (mode set as 'MODE_ONDEMAND') and display one depending on the selection. Once displayed, it should also show the infoWindow. Though it is a small piece of code, I believe I am missing something because of which it keeps giving me errors. Here is the code:&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;function queryParam(indc, indValue, flag, geog) { //&lt;STRONG&gt;indc&lt;/STRONG&gt;=Indicator, &lt;STRONG&gt;indValue&lt;/STRONG&gt;=indicator value, &lt;STRONG&gt;flag&lt;/STRONG&gt; returns 'true' or 'false' depending on unit of analysis, &lt;STRONG&gt;geog&lt;/STRONG&gt; is the selected State of India using a pull down menu
 query = new esri.tasks.Query();
 query.returnGeometry = true;
 query.outFields = ["*"];
 query.where = "1=1";
 var resultContent = "&amp;lt;tr&amp;gt;" + indc + ": &amp;lt;td&amp;gt;${" + indValue + ":formatNumber}&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;";
 var renderer = new esri.renderer.ClassBreaksRenderer(symbol, indValue);
 renderer.addBreak(0.01, 19, symbolSet31);
 renderer.addBreak(19, 27, symbolSet32);
 renderer.addBreak(27, Infinity, symbolSet33);
 if (flag === true) {
&amp;nbsp; infoTemplate.setTitle("&amp;lt;tr&amp;gt;State: &amp;lt;td&amp;gt;${State_name}&amp;lt;/tr&amp;gt;&amp;lt;/td&amp;gt;");
&amp;nbsp; stateFeatureLayer.setRenderer(renderer);
&amp;nbsp; mapM.addLayer(stateFeatureLayer);
 } else if (flag === false) {
&amp;nbsp; infoTemplate.setTitle("&amp;lt;tr&amp;gt;DISTRICT: &amp;lt;td&amp;gt;${Dist_name}&amp;lt;/tr&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tr&amp;gt;STATE: &amp;lt;td&amp;gt;${State_name}&amp;lt;/tr&amp;gt;&amp;lt;/td&amp;gt;");
&amp;nbsp; distFeatureLayer.setRenderer(renderer);
&amp;nbsp; if (geog != "All India") { //if a single State is selected. the code selects districts (sub-State) to display within the selected State
&amp;nbsp;&amp;nbsp; distFeatureLayer.setDefinitionExpression("State_name= '" + geog + "'");
&amp;nbsp;&amp;nbsp; distFeatureLayer.selectFeatures(query, esri.layers.FeatureLayer.SELECTION_NEW);
&amp;nbsp;&amp;nbsp; dojo.connect(distFeatureLayer, "onSelectionComplete", mapM.addLayer(distFeatureLayer));
&amp;nbsp; } else if (geog == "All India") { //if "All India" is selected using the pull down menu. This displays all districts in the country
&amp;nbsp;&amp;nbsp; distFeatureLayer.clearSelection();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mapM.addLayer(distFeatureLayer);
&amp;nbsp; }
 }
 infoTemplate.setContent(resultContent);
}&lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;I get the following errors, primarily when flag==false:&lt;BR /&gt;&lt;UL&gt;&lt;BR /&gt;&lt;LI&gt;The first State selected works well but shows a 'type error' in the web console. Changing &lt;STRONG&gt;geog&lt;/STRONG&gt; from one state to another displays the features of the next State but does not bring up the infoWindow when clicked on the map. This shows a 'type error' too.&lt;/LI&gt;&lt;BR /&gt;&lt;LI&gt;Selecting "All India" does not remove the previous selection and does not display all features.&lt;/LI&gt;&lt;BR /&gt;&lt;/UL&gt;&lt;BR /&gt;Please see if you can test this code using your data. I'll be happy to provide the underlying html document.&lt;BR /&gt;&lt;BR /&gt;Thanks&lt;BR /&gt;Samir&lt;/BLOCKQUOTE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 11 Dec 2021 20:24:17 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/featurelayer-issue/m-p/458294#M42318</guid>
      <dc:creator>SamirGambhir</dc:creator>
      <dc:date>2021-12-11T20:24:17Z</dc:date>
    </item>
    <item>
      <title>Re: FeatureLayer issue</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/featurelayer-issue/m-p/458295#M42319</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 resolved the second issue by setting the definition expression to 'null' when "geog=='All India'": distFeatureLayer.setDefinitionExpression(null);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;However, a new issue has cropped up: infoWindow works at the very first selection. Correct legend shows up as well at the first selection. Any subsequent selection does not bring up both. Also, for any subsequent selection of a different indicator value, anuncaught error shows up:"&lt;/SPAN&gt;&lt;SPAN style="color:&amp;quot;#B22222&amp;quot;;"&gt;Uncaught TypeError: Cannot read property 'firstChild' of null&lt;/SPAN&gt;&lt;SPAN&gt;". I have checked my code and I do not find any reference to firstChild in my code. Additionally, switching between State and District brings up another uncaught error: "&lt;/SPAN&gt;&lt;SPAN style="color:&amp;quot;#B22222&amp;quot;;"&gt;Uncaught TypeError: Cannot call method '_decRefCount' of null&lt;/SPAN&gt;&lt;SPAN&gt;". I am unable to make sense of all this. Has anybody faced a similar situation? I'll be happy to share my code if someone might want to look at this issue.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Samir&lt;/SPAN&gt;&lt;BR /&gt;&lt;BLOCKQUOTE class="jive-quote"&gt; Hi,&amp;nbsp; &lt;BR /&gt;Please look at this code and help me resolve this issue. I have spent a lot of time on this with no results.&amp;nbsp;&amp;nbsp; &lt;BR /&gt;Thanks&amp;nbsp; &lt;BR /&gt;Samir&lt;/BLOCKQUOTE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 29 Oct 2012 13:49:08 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/featurelayer-issue/m-p/458295#M42319</guid>
      <dc:creator>SamirGambhir</dc:creator>
      <dc:date>2012-10-29T13:49:08Z</dc:date>
    </item>
    <item>
      <title>Re: FeatureLayer issue</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/featurelayer-issue/m-p/458296#M42320</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hi all,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I made some changes to the code and most of the issues are taken care of, except the infoWindow issue as described in my original post. Can someone help resolve this issue? &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Here is the relevant code:&lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;
function init() {
...
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; infoTemplate = new esri.InfoTemplate();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; stateFeatureLayer = new esri.layers.FeatureLayer("http://localhost:6080/arcgis/rest/services/State_profile/MapServer/1", {
&amp;nbsp; mode : esri.layers.FeatureLayer.MODE_ONDEMAND,
&amp;nbsp; outFields : ["*"],
&amp;nbsp; id : "stateFeatureLayer",
&amp;nbsp; infoTemplate : infoTemplate
 });
 distFeatureLayer = new esri.layers.FeatureLayer("http://localhost:6080/arcgis/rest/services/District_profile/MapServer/1", {
&amp;nbsp; mode : esri.layers.FeatureLayer.MODE_ONDEMAND,
&amp;nbsp; outFields : ["*"],
&amp;nbsp; id : "distFeatureLayer",
&amp;nbsp; infoTemplate : infoTemplate
 });
...
}

function queryParam(indc, indValue, flag, geog) { //indc=Indicator, indValue=indicator value, flag returns 'true' or 'false' depending on unit of analysis, geog is the selected State of India using a pull down menu
 var newTitle;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; query = new esri.tasks.Query();
 query.returnGeometry = true;
 query.outFields = ["*"];
 query.where = "1=1";
 var resultContent = "&amp;lt;tr&amp;gt;" + indc + ": &amp;lt;td&amp;gt;${" + indValue + ":formatNumber}&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;";
 var renderer = new esri.renderer.ClassBreaksRenderer(symbol, indValue);
 renderer.addBreak(0.01, 19, symbolSet31);
 renderer.addBreak(19, 27, symbolSet32);
 renderer.addBreak(27, Infinity, symbolSet33);
 if (flag === true) {
&amp;nbsp; infoTemplate.setTitle("&amp;lt;tr&amp;gt;State: &amp;lt;td&amp;gt;${State_name}&amp;lt;/tr&amp;gt;&amp;lt;/td&amp;gt;");
&amp;nbsp; stateFeatureLayer.setRenderer(renderer);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&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(distFeatureLayer){distFeatureLayer.hide();}
&amp;nbsp; stateFeatureLayer.show();
&amp;nbsp; newTitle = indc + " by State";
&amp;nbsp; dojo.connect(stateFeatureLayer, "onClick", showHighlight);
 } else if (flag === false) {
&amp;nbsp; infoTemplate.setTitle("&amp;lt;tr&amp;gt;DISTRICT: &amp;lt;td&amp;gt;${Dist_name}&amp;lt;/tr&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tr&amp;gt;STATE: &amp;lt;td&amp;gt;${State_name}&amp;lt;/tr&amp;gt;&amp;lt;/td&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;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (geog != "All India") { //if a single State is selected. the code selects districts (sub-State) to display within the selected State
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; distFeatureLayer.setDefinitionExpression("State_name= '" + geog + "'");
&amp;nbsp;&amp;nbsp; distFeatureLayer.selectFeatures(query, esri.layers.FeatureLayer.SELECTION_NEW);
&amp;nbsp; } else if (geog == "All India") { //if "All India" is selected using the pull down menu. This displays all districts in the country
&amp;nbsp;&amp;nbsp; distFeatureLayer.clearSelection();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; distFeatureLayer.setDefinitionExpression(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; distFeatureLayer.setRenderer(renderer);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&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(stateFeatureLayer){stateFeatureLayer.hide();}
&amp;nbsp; distFeatureLayer.show();
&amp;nbsp; newTitle = indc + " by District";
&amp;nbsp; dojo.connect(distFeatureLayer, "onClick", showHighlight);
 }
 infoTemplate.setContent(resultContent);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; showLegend(newTitle, flag);
}

function showLegend(title, flag){
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var legendDijit = dijit.byId("legend");
 dojo.connect(mapM, "onLayersAddResult", function(results) {
&amp;nbsp; var layerInfo = dojo.map(results, function(layer, index) {
&amp;nbsp;&amp;nbsp; if (flag == true) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return {layer : stateFeatureLayer, title :title};
&amp;nbsp;&amp;nbsp; } else if (flag == false) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return {layer : distFeatureLayer, title : title};
&amp;nbsp;&amp;nbsp; }
&amp;nbsp; });
&amp;nbsp; if (layerInfo.length &amp;gt; 0) {
&amp;nbsp;&amp;nbsp; if (legendDijit) {
&amp;nbsp;&amp;nbsp;&amp;nbsp; legendDijit.destroyRecursive(true);
&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp; legendDijit = new esri.dijit.Legend({
&amp;nbsp;&amp;nbsp;&amp;nbsp; map : mapM,
&amp;nbsp;&amp;nbsp;&amp;nbsp; layerInfos : layerInfo
&amp;nbsp;&amp;nbsp; }, "legend");
&amp;nbsp;&amp;nbsp; legendDijit.startup();
&amp;nbsp;&amp;nbsp; legendDijit.refresh();
&amp;nbsp; }
 });
 if (flag == true) {
&amp;nbsp; mapM.addLayers([stateFeatureLayer]);
 } else if (flag == false) {
&amp;nbsp; mapM.addLayers([distFeatureLayer]);
 }
}

function showHighlight(evt){
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mapM.graphics.clear();
 var content = evt.graphic.getContent();
 mapM.infoWindow.setContent(content);
 var title = evt.graphic.getTitle();
 mapM.infoWindow.setTitle(title);
 mapM.infoWindow.resize(280, 75);
 var highlightGraphic = new esri.Graphic(evt.graphic.geometry, highlightSymbol);
 mapM.graphics.add(highlightGraphic);
 mapM.infoWindow.show(evt.screenPoint, mapM.getInfoWindowAnchor(evt.screenPoint));
 dojo.connect(mapM.infoWindow, "onHide", clearGraphics);
}
&lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BLOCKQUOTE class="jive-quote"&gt; Hi,&amp;nbsp; &lt;BR /&gt;I resolved the second issue by setting the definition expression to 'null' when "geog=='All India'": distFeatureLayer.setDefinitionExpression(null);&amp;nbsp; &lt;BR /&gt;However, a new issue has cropped up: infoWindow works at the very first selection. Correct legend shows up as well at the first selection. Any subsequent selection does not bring up both. Also, for any subsequent selection of a different indicator value, anuncaught error shows up:"&amp;nbsp; &lt;SPAN style="color:&amp;quot;#B22222&amp;quot;;"&gt;Uncaught TypeError: Cannot read property 'firstChild' of null&lt;/SPAN&gt;". I have checked my code and I do not find any reference to firstChild in my code. Additionally, switching between State and District brings up another uncaught error: "&amp;nbsp; &lt;SPAN style="color:&amp;quot;#B22222&amp;quot;;"&gt;Uncaught TypeError: Cannot call method '_decRefCount' of null&lt;/SPAN&gt;". I am unable to make sense of all this. Has anybody faced a similar situation? I'll be happy to share my code if someone might want to look at this issue.&amp;nbsp; &lt;BR /&gt;Thanks&amp;nbsp; &lt;BR /&gt;Samir&lt;/BLOCKQUOTE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 11 Dec 2021 20:24:20 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/featurelayer-issue/m-p/458296#M42320</guid>
      <dc:creator>SamirGambhir</dc:creator>
      <dc:date>2021-12-11T20:24:20Z</dc:date>
    </item>
  </channel>
</rss>

