I am adding a KML Layer to my map from a URL which I need to retrieve asynchronously. When I retrieve this URL, I attempt to add the KML Layer to an existing map, but it never seems to appear. If I know the URL before the map loads, I am able to add the KMLLayer like normal, but when trying to add to a map that already exists, it never appears?
This Works on initial load of the map as expected
KmlLayer <SPAN class="punctuation token">{</SPAN>
KmlDataset <SPAN class="punctuation token">{</SPAN>
KmlGroundOverlay <SPAN class="punctuation token">{</SPAN>
id<SPAN class="punctuation token">:</SPAN> groundOverlay
KmlIcon <SPAN class="punctuation token">{</SPAN>
url<SPAN class="punctuation token">:</SPAN> kmlUri
<SPAN class="punctuation token">}</SPAN>
Envelope <SPAN class="punctuation token">{</SPAN>
id<SPAN class="punctuation token">:</SPAN> envelopeCHI
xMax<SPAN class="punctuation token">:</SPAN> kmlxMax
yMin<SPAN class="punctuation token">:</SPAN> kmlyMin
xMin<SPAN class="punctuation token">:</SPAN> kmlxMin
yMax<SPAN class="punctuation token">:</SPAN> kmlyMax
spatialReference<SPAN class="punctuation token">:</SPAN> SpatialReference<SPAN class="punctuation token">.</SPAN><SPAN class="token function">createWgs84</SPAN><SPAN class="punctuation token">(</SPAN><SPAN class="punctuation token">)</SPAN>
<SPAN class="punctuation token">}</SPAN>
<SPAN class="punctuation token">}</SPAN>
<SPAN class="punctuation token">}</SPAN>
<SPAN class="punctuation token">}</SPAN><SPAN class="line-numbers-rows"><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN></SPAN>When trying to add dynamically to an already loaded map, nothing seems to be added? I can even hardcode the url and envelope values with known URL and envelope and it still doesn't work.
<SPAN class="keyword token">function</SPAN> <SPAN class="token function">addKMLLayer</SPAN><SPAN class="punctuation token">(</SPAN><SPAN class="punctuation token">)</SPAN>
<SPAN class="punctuation token">{</SPAN>
<SPAN class="keyword token">var</SPAN> newKmlIcon <SPAN class="operator token">=</SPAN> ArcGISRuntimeEnvironment<SPAN class="punctuation token">.</SPAN><SPAN class="token function">createObject</SPAN><SPAN class="punctuation token">(</SPAN><SPAN class="string token">"KmlIcon"</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">;</SPAN>
newKmlIcon<SPAN class="punctuation token">.</SPAN>url <SPAN class="operator token">=</SPAN> kmlUri
<SPAN class="keyword token">var</SPAN> newEnvelope <SPAN class="operator token">=</SPAN> ArcGISRuntimeEnvironment<SPAN class="punctuation token">.</SPAN><SPAN class="token function">createObject</SPAN><SPAN class="punctuation token">(</SPAN><SPAN class="string token">"Envelope"</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">;</SPAN>
newEnvelope<SPAN class="punctuation token">.</SPAN>id <SPAN class="operator token">=</SPAN> envelopeCHI
newEnvelope<SPAN class="punctuation token">.</SPAN>xMax <SPAN class="operator token">=</SPAN> kmlxMax
newEnvelope<SPAN class="punctuation token">.</SPAN>yMin <SPAN class="operator token">=</SPAN> kmlyMin
newEnvelope<SPAN class="punctuation token">.</SPAN>xMin <SPAN class="operator token">=</SPAN> kmlxMin
newEnvelope<SPAN class="punctuation token">.</SPAN>yMax <SPAN class="operator token">=</SPAN> kmlyMax
newEnvelope<SPAN class="punctuation token">.</SPAN>spatialReference <SPAN class="operator token">=</SPAN> SpatialReference<SPAN class="punctuation token">.</SPAN><SPAN class="token function">createWgs84</SPAN><SPAN class="punctuation token">(</SPAN><SPAN class="punctuation token">)</SPAN>
<SPAN class="keyword token">var</SPAN> newKmlGroundOverlay <SPAN class="operator token">=</SPAN> ArcGISRuntimeEnvironment<SPAN class="punctuation token">.</SPAN><SPAN class="token function">createObject</SPAN><SPAN class="punctuation token">(</SPAN><SPAN class="string token">"KmlGroundOverlay"</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="punctuation token">{</SPAN>newKmlIcon<SPAN class="punctuation token">,</SPAN> newEnvelope <SPAN class="punctuation token">}</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">;</SPAN>
<SPAN class="keyword token">var</SPAN> newKMLDataset <SPAN class="operator token">=</SPAN> ArcGISRuntimeEnvironment<SPAN class="punctuation token">.</SPAN><SPAN class="token function">createObject</SPAN><SPAN class="punctuation token">(</SPAN><SPAN class="string token">"KmlDataset"</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="punctuation token">{</SPAN>newKmlGroundOverlay<SPAN class="punctuation token">}</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">;</SPAN>
<SPAN class="keyword token">var</SPAN> newKMLLayer <SPAN class="operator token">=</SPAN> ArcGISRuntimeEnvironment<SPAN class="punctuation token">.</SPAN><SPAN class="token function">createObject</SPAN><SPAN class="punctuation token">(</SPAN><SPAN class="string token">"KmlLayer"</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="punctuation token">{</SPAN>newKMLDataset<SPAN class="punctuation token">}</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">;</SPAN>
map<SPAN class="punctuation token">.</SPAN>operationalLayers<SPAN class="punctuation token">.</SPAN><SPAN class="token function">append</SPAN><SPAN class="punctuation token">(</SPAN>newKMLLayer<SPAN class="punctuation token">)</SPAN>
<SPAN class="punctuation token">}</SPAN><SPAN class="line-numbers-rows"><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN></SPAN>