<?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 Application crashes randomly when updating Kml Layer in .NET Maps SDK Questions</title>
    <link>https://community.esri.com/t5/net-maps-sdk-questions/application-crashes-randomly-when-updating-kml/m-p/343697#M4031</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I have a piece of code that updates a KML overlay often. Some times, at random, my application crashes after replacing the KML layer from my Scene. I do not get an error message, not does it let me debug it, so I suspect is somewhere in the ArcGis code. Is this the correct way to update a KML layer?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;string id = objId + "Overlay";

&lt;SPAN style="line-height: 1.5;"&gt;System.IO.File.WriteAllText(_tempFilePath + @"\" + id + ".kml", kmlString);&lt;/SPAN&gt;
&lt;SPAN style="line-height: 1.5;"&gt;var sourceUri = new Uri(_tempFilePath + @"\" + id + ".kml"); //I receive KML as a string, so I save as a file to get an URI&lt;/SPAN&gt;

if (MySceneView.Scene.Layers[id] == null) //first time adding the layer
&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var kmlLayer = new KmlLayer(sourceUri);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; kmlLayer.ID = id;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; kmlLayer.Opacity = _alpha;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MySceneView.Scene.Layers.Add(kmlLayer);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return id;
&amp;nbsp; }
&amp;nbsp; else //Update the layer
&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for(int i = MySceneView.Scene.Layers.Count - 1; i &amp;gt;= 0; i--)//for each layer
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (MySceneView.Scene.Layers&lt;I&gt;.ID == id) //find the matching ID&lt;/I&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;&amp;nbsp;&amp;nbsp; var kmlLayer = new KmlLayer(sourceUri);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; kmlLayer.ID = id;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; kmlLayer.Opacity = _alpha;
&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MySceneView.Scene.Layers&lt;I&gt; = kmlLayer; //repalce the layer with the updated one&lt;/I&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return id;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp; }

return "";&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Sat, 11 Dec 2021 16:12:09 GMT</pubDate>
    <dc:creator>JasonTrinidad1</dc:creator>
    <dc:date>2021-12-11T16:12:09Z</dc:date>
    <item>
      <title>Application crashes randomly when updating Kml Layer</title>
      <link>https://community.esri.com/t5/net-maps-sdk-questions/application-crashes-randomly-when-updating-kml/m-p/343697#M4031</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I have a piece of code that updates a KML overlay often. Some times, at random, my application crashes after replacing the KML layer from my Scene. I do not get an error message, not does it let me debug it, so I suspect is somewhere in the ArcGis code. Is this the correct way to update a KML layer?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;string id = objId + "Overlay";

&lt;SPAN style="line-height: 1.5;"&gt;System.IO.File.WriteAllText(_tempFilePath + @"\" + id + ".kml", kmlString);&lt;/SPAN&gt;
&lt;SPAN style="line-height: 1.5;"&gt;var sourceUri = new Uri(_tempFilePath + @"\" + id + ".kml"); //I receive KML as a string, so I save as a file to get an URI&lt;/SPAN&gt;

if (MySceneView.Scene.Layers[id] == null) //first time adding the layer
&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var kmlLayer = new KmlLayer(sourceUri);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; kmlLayer.ID = id;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; kmlLayer.Opacity = _alpha;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MySceneView.Scene.Layers.Add(kmlLayer);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return id;
&amp;nbsp; }
&amp;nbsp; else //Update the layer
&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for(int i = MySceneView.Scene.Layers.Count - 1; i &amp;gt;= 0; i--)//for each layer
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (MySceneView.Scene.Layers&lt;I&gt;.ID == id) //find the matching ID&lt;/I&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;&amp;nbsp;&amp;nbsp; var kmlLayer = new KmlLayer(sourceUri);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; kmlLayer.ID = id;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; kmlLayer.Opacity = _alpha;
&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MySceneView.Scene.Layers&lt;I&gt; = kmlLayer; //repalce the layer with the updated one&lt;/I&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return id;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp; }

return "";&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 11 Dec 2021 16:12:09 GMT</pubDate>
      <guid>https://community.esri.com/t5/net-maps-sdk-questions/application-crashes-randomly-when-updating-kml/m-p/343697#M4031</guid>
      <dc:creator>JasonTrinidad1</dc:creator>
      <dc:date>2021-12-11T16:12:09Z</dc:date>
    </item>
    <item>
      <title>Re: Application crashes randomly when updating Kml Layer</title>
      <link>https://community.esri.com/t5/net-maps-sdk-questions/application-crashes-randomly-when-updating-kml/m-p/343698#M4032</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;What happens if you modify the code to remove the existing KMLLayer from the Scene and set it to null then insert the new KMLLayer at the original index?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Cheers&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Mike&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 04 Sep 2015 08:08:30 GMT</pubDate>
      <guid>https://community.esri.com/t5/net-maps-sdk-questions/application-crashes-randomly-when-updating-kml/m-p/343698#M4032</guid>
      <dc:creator>MichaelBranscomb</dc:creator>
      <dc:date>2015-09-04T08:08:30Z</dc:date>
    </item>
    <item>
      <title>Re: Application crashes randomly when updating Kml Layer</title>
      <link>https://community.esri.com/t5/net-maps-sdk-questions/application-crashes-randomly-when-updating-kml/m-p/343699#M4033</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;If I remove the existing layer, I can't then set it to null, since its removed from the collection. If I just remove the layer and add a new one, it also crashes randomly.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 23 Sep 2015 14:12:10 GMT</pubDate>
      <guid>https://community.esri.com/t5/net-maps-sdk-questions/application-crashes-randomly-when-updating-kml/m-p/343699#M4033</guid>
      <dc:creator>JasonTrinidad1</dc:creator>
      <dc:date>2015-09-23T14:12:10Z</dc:date>
    </item>
  </channel>
</rss>

