<?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: Event thrown when map is FINISHED loading? in ArcGIS API for Flex Questions</title>
    <link>https://community.esri.com/t5/arcgis-api-for-flex-questions/event-thrown-when-map-is-finished-loading/m-p/731964#M16240</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;BR /&gt;&lt;SPAN&gt;I re-open that old thread concerning the load event on layers. &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I'm using the API 2.5 and when the layer fires LayerEvent.LOAD, the tiles on a&amp;nbsp; ArcGISTiledMapServiceLayer are not finished drawing.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Is there any solution to know when all the layers finish to draw?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Cheers&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 24 Apr 2012 08:13:06 GMT</pubDate>
    <dc:creator>Ganael_Jatteau</dc:creator>
    <dc:date>2012-04-24T08:13:06Z</dc:date>
    <item>
      <title>Event thrown when map is FINISHED loading?</title>
      <link>https://community.esri.com/t5/arcgis-api-for-flex-questions/event-thrown-when-map-is-finished-loading/m-p/731962#M16238</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;I can't seem to find an event or any other way to tell when a map is completely finished loading in FLEX, (ie: when all layers content has been rendered to the screen and nothing else is loading)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I require this for printing functionality... When i try to use the load event to capture a screenshot of the map (BitmapData) i get a blank image.. if i tie the same function to a button, and manually press it, the image shows the full map.. I do not want the users to have to press multiple buttons to print.. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;any idea's or help?&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 05 Nov 2010 17:56:00 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-api-for-flex-questions/event-thrown-when-map-is-finished-loading/m-p/731962#M16238</guid>
      <dc:creator>GregSpiridonov</dc:creator>
      <dc:date>2010-11-05T17:56:00Z</dc:date>
    </item>
    <item>
      <title>Re: Event thrown when map is FINISHED loading?</title>
      <link>https://community.esri.com/t5/arcgis-api-for-flex-questions/event-thrown-when-map-is-finished-loading/m-p/731963#M16239</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;I don't see such an event in the docs either. It would be nice too.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Below is some code I wrote that should solve the problem. It seems like a lot but it works. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;
&amp;lt;?xml version="1.0" encoding="utf-8"?&amp;gt;
&amp;lt;s:Application name="Test"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; xmlns:fx="http://ns.adobe.com/mxml/2009"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; xmlns:s="library://ns.adobe.com/flex/spark"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; xmlns:mx="library://ns.adobe.com/flex/mx" 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; xmlns:esri="http://www.esri.com/2008/ags" &amp;gt;
 
 &amp;lt;fx:Script&amp;gt;
&amp;nbsp; &amp;lt;![CDATA[
&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; //IMPORTS
&amp;nbsp;&amp;nbsp; import com.esri.ags.events.LayerEvent;
&amp;nbsp;&amp;nbsp; import com.esri.ags.events.MapEvent;
&amp;nbsp;&amp;nbsp; import com.esri.ags.layers.Layer;
&amp;nbsp;&amp;nbsp; import mx.collections.ArrayCollection;
&amp;nbsp;&amp;nbsp; import mx.controls.Alert;

&amp;nbsp;&amp;nbsp; //-----------------------------------------
&amp;nbsp;&amp;nbsp; //PRIVATE VARIABLES
&amp;nbsp;&amp;nbsp; //-----------------------------------------
&amp;nbsp;&amp;nbsp; private var _isLayersLoaded:Boolean = false;
&amp;nbsp;&amp;nbsp; private var _layerLoadCount:int = 0;
&amp;nbsp;&amp;nbsp; 

&amp;nbsp;&amp;nbsp; // isLayersLoaded getter
&amp;nbsp;&amp;nbsp; // Checks if the private varibale _layerLoadCount == the total map layers in the map
&amp;nbsp;&amp;nbsp; public function get isLayersLoaded():Boolean
&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp; var loaded:Boolean; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; var&amp;nbsp; mapLayers:ArrayCollection = this.map.layers as ArrayCollection;
&amp;nbsp;&amp;nbsp;&amp;nbsp; if (mapLayers.length == this._layerLoadCount)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; loaded = true;
&amp;nbsp;&amp;nbsp;&amp;nbsp; else 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; loaded= false;
&amp;nbsp;&amp;nbsp;&amp;nbsp; return loaded;
&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; //-----------------------------------------
&amp;nbsp;&amp;nbsp; // on Map Load loop through all the layers and check if loaded. 
&amp;nbsp;&amp;nbsp; // if not loaded, listen for the load event to be called.
&amp;nbsp;&amp;nbsp; //-----------------------------------------
&amp;nbsp;&amp;nbsp; private function _onMapLoad(event:MapEvent):void
&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp; for each (var lyr:Layer in this.map.layers)
&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (lyr.loaded)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; _layerLoadCount++;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lyr.addEventListener(LayerEvent.LOAD, _onLayerLoad);
&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp; //-----------------------------------------
&amp;nbsp;&amp;nbsp; // if layer load event is called, add 1 to the _layerLoadCount variable.
&amp;nbsp;&amp;nbsp; //-----------------------------------------
&amp;nbsp;&amp;nbsp; private function _onLayerLoad(event:LayerEvent):void
&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp; _layerLoadCount++;
&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; //-----------------------------------------
&amp;nbsp;&amp;nbsp; // Test the variable isLayersLoaded
&amp;nbsp;&amp;nbsp; //-----------------------------------------
&amp;nbsp;&amp;nbsp; private function onPrintClick():void
&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp; if (this.isLayersLoaded == false)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Alert.show("please wait, all layers are not yet loaded");
&amp;nbsp;&amp;nbsp;&amp;nbsp; else
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Alert.show("Layers Loaded!");
&amp;nbsp;&amp;nbsp; }
&amp;nbsp; ]]&amp;gt;
 &amp;lt;/fx:Script&amp;gt;

 &amp;lt;esri:Map id="map" load="_onMapLoad(event)" top="76" bottom="10" left="9" right="10"&amp;gt;
&amp;nbsp; &amp;lt;esri:ArcGISTiledMapServiceLayer url="http://server.arcgisonline.com/ArcGIS/rest/services/ESRI_Imagery_World_2D/MapServer/"/&amp;gt;
&amp;nbsp; &amp;lt;esri:ArcGISTiledMapServiceLayer url="http://server.arcgisonline.com/ArcGIS/rest/services/ESRI_ShadedRelief_World_2D/MapServer/"/&amp;gt;
&amp;nbsp; &amp;lt;esri:ArcGISTiledMapServiceLayer url="http://server.arcgisonline.com/ArcGIS/rest/services/ESRI_StreetMap_World_2D/MapServer/"/&amp;gt;
 &amp;lt;/esri:Map&amp;gt;
 &amp;lt;s:Button x="10" y="47" label="Button" id="btnPrint" click="onPrintClick();"/&amp;gt;
 
&amp;lt;/s:Application&amp;gt;
&lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;if you need further assistance feel free to ask.. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Drew&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 12 Dec 2021 07:14:42 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-api-for-flex-questions/event-thrown-when-map-is-finished-loading/m-p/731963#M16239</guid>
      <dc:creator>Drew</dc:creator>
      <dc:date>2021-12-12T07:14:42Z</dc:date>
    </item>
    <item>
      <title>Re: Event thrown when map is FINISHED loading?</title>
      <link>https://community.esri.com/t5/arcgis-api-for-flex-questions/event-thrown-when-map-is-finished-loading/m-p/731964#M16240</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;BR /&gt;&lt;SPAN&gt;I re-open that old thread concerning the load event on layers. &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I'm using the API 2.5 and when the layer fires LayerEvent.LOAD, the tiles on a&amp;nbsp; ArcGISTiledMapServiceLayer are not finished drawing.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Is there any solution to know when all the layers finish to draw?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Cheers&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 24 Apr 2012 08:13:06 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-api-for-flex-questions/event-thrown-when-map-is-finished-loading/m-p/731964#M16240</guid>
      <dc:creator>Ganael_Jatteau</dc:creator>
      <dc:date>2012-04-24T08:13:06Z</dc:date>
    </item>
    <item>
      <title>Re: Event thrown when map is FINISHED loading?</title>
      <link>https://community.esri.com/t5/arcgis-api-for-flex-questions/event-thrown-when-map-is-finished-loading/m-p/731965#M16241</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;A href="http://resourcesbeta.arcgis.com/en/webapis/flex-api/apiref/com/esri/ags/events/LayerEvent.html#UPDATE_END" rel="nofollow noopener noreferrer" target="_blank"&gt;LayerEvent.UPDATE_END&lt;/A&gt;&lt;BR /&gt;&lt;A href="http://resourcesbeta.arcgis.com/en/webapis/flex-api/apiref/com/esri/ags/events/LayerEvent.html#updateSuccess" rel="nofollow noopener noreferrer" target="_blank"&gt;event.updateSuccess&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;&amp;lt;?xml version="1.0" encoding="utf-8"?&amp;gt;
&amp;lt;s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; xmlns:s="library://ns.adobe.com/flex/spark" 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; xmlns:mx="library://ns.adobe.com/flex/mx" xmlns:esri="http://www.esri.com/2008/ags"&amp;gt;
 
 &amp;lt;!-- Adobe Flex SDK 4.6.0 --&amp;gt;
 &amp;lt;!-- ArcGIS API for Flex 3.0 prerelease 15.03.2012 --&amp;gt;
 &amp;lt;!-- web.zone.ee/bespiva/layerevents --&amp;gt;
 
 &amp;lt;s:layout&amp;gt;
&amp;nbsp; &amp;lt;s:VerticalLayout paddingBottom="10" 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; paddingLeft="10" 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; paddingRight="10" 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; paddingTop="10" 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; gap="10" /&amp;gt;
 &amp;lt;/s:layout&amp;gt;
 
 &amp;lt;esri:Map id="map"&amp;gt;
&amp;nbsp; &amp;lt;esri:extent&amp;gt;
&amp;nbsp;&amp;nbsp; &amp;lt;esri:WebMercatorExtent id="lowerManhatten"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; minlon="-74.03" minlat="40.70" maxlon="-73.99" maxlat="40.72"/&amp;gt;
&amp;nbsp; &amp;lt;/esri:extent&amp;gt;
&amp;nbsp; &amp;lt;esri:ArcGISTiledMapServiceLayer name="Base Layer" 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; url="http://server.arcgisonline.com/ArcGIS/rest/services/World_Street_Map/MapServer"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; load="onLayerLoad(event)"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; loadError="onLayerLoadError(event)"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; updateStart="onLayerUpdateStart(event)"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; updateEnd="onLayerUpdateEnd(event)"/&amp;gt;
&amp;nbsp; &amp;lt;esri:ArcGISDynamicMapServiceLayer name="Census Block Points" 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; url="http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/Demographics/ESRI_Census_USA/MapServer/"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; visibleLayers="{new ArrayCollection([0])}"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; load="onLayerLoad(event)"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; loadError="onLayerLoadError(event)"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; updateStart="onLayerUpdateStart(event)"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; updateEnd="onLayerUpdateEnd(event)"/&amp;gt;
&amp;nbsp; &amp;lt;esri:ArcGISDynamicMapServiceLayer name="Census Block Group" 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; url="http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/Demographics/ESRI_Census_USA/MapServer/"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; visibleLayers="{new ArrayCollection([1])}"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; load="onLayerLoad(event)"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; loadError="onLayerLoadError(event)"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; updateStart="onLayerUpdateStart(event)"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; updateEnd="onLayerUpdateEnd(event)"/&amp;gt;
&amp;nbsp; &amp;lt;esri:ArcGISDynamicMapServiceLayer name="Coarse Counties" 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; url="http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/Demographics/ESRI_Census_USA/MapServer/"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; visibleLayers="{new ArrayCollection([3])}"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; load="onLayerLoad(event)"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; loadError="onLayerLoadError(event)"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; updateStart="onLayerUpdateStart(event)"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; updateEnd="onLayerUpdateEnd(event)"/&amp;gt;
&amp;nbsp; &amp;lt;esri:ArcGISDynamicMapServiceLayer name="Detailed Counties" 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; url="http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/Demographics/ESRI_Census_USA/MapServer/"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; visibleLayers="{new ArrayCollection([4])}"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; load="onLayerLoad(event)"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; loadError="onLayerLoadError(event)"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; updateStart="onLayerUpdateStart(event)"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; updateEnd="onLayerUpdateEnd(event)"/&amp;gt;
 &amp;lt;/esri:Map&amp;gt;
 
 &amp;lt;s:Label text="Logs:" /&amp;gt;
 
 &amp;lt;s:VGroup width="100%"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; height="100%"&amp;gt;
&amp;nbsp; 
&amp;nbsp; &amp;lt;s:TextArea width="100%"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; height="100%"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; id="log" /&amp;gt;
&amp;nbsp; 
 &amp;lt;/s:VGroup&amp;gt;
 
 &amp;lt;fx:Script&amp;gt;
&amp;nbsp; &amp;lt;![CDATA[
&amp;nbsp;&amp;nbsp; import com.esri.ags.events.LayerEvent;
&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; import mx.collections.ArrayCollection;
&amp;nbsp;&amp;nbsp; import mx.utils.StringUtil;
&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; private var loadedCount:int;
&amp;nbsp;&amp;nbsp; private var nonLoadedCount:int;
&amp;nbsp;&amp;nbsp; private var updateStartedCount:int;
&amp;nbsp;&amp;nbsp; private var updateEndedCount:int;
&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; private function addLog(message:String):void
&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp; log.text = StringUtil.substitute("{0}\n\n{1}", message, log.text);
&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; protected function onLayerLoadError(event:LayerEvent):void
&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp; addLog(StringUtil.substitute("Error on loading layer {0}", event.layer.name));
&amp;nbsp;&amp;nbsp;&amp;nbsp; nonLoadedCount++;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; var mapLayersCount:int = ArrayCollection(map.layers).length;
&amp;nbsp;&amp;nbsp;&amp;nbsp; if (mapLayersCount == (nonLoadedCount + loadedCount))
&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; addLog(StringUtil.substitute("Loaded: {0} of {1} layers\n {2} layers fault on loading.", 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; loadedCount, mapLayersCount, nonLoadedCount));
&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; protected function onLayerLoad(event:LayerEvent):void
&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp; addLog(StringUtil.substitute("{0} is loaded", event.layer.name));
&amp;nbsp;&amp;nbsp;&amp;nbsp; loadedCount++;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; var mapLayersCount:int = ArrayCollection(map.layers).length;
&amp;nbsp;&amp;nbsp;&amp;nbsp; if (mapLayersCount == (nonLoadedCount + loadedCount))
&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; addLog(StringUtil.substitute("Loaded: {0} of {1} layers\n {2} layers fault on loading.", 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; loadedCount, mapLayersCount, nonLoadedCount));
&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp; }

&amp;nbsp;&amp;nbsp; protected function onLayerUpdateStart(event:LayerEvent):void
&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp; addLog(StringUtil.substitute("{0} update started", event.layer.name));
&amp;nbsp;&amp;nbsp;&amp;nbsp; if (updateStartedCount == updateEndedCount)
&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; updateStartedCount = updateEndedCount = 0; // reset
&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; updateStartedCount++;
&amp;nbsp;&amp;nbsp; }


&amp;nbsp;&amp;nbsp; protected function onLayerUpdateEnd(event:LayerEvent):void
&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp; addLog(StringUtil.substitute("{0} update ended &amp;gt;&amp;gt; update success = {1}", 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; event.layer.name, event.updateSuccess));
&amp;nbsp;&amp;nbsp;&amp;nbsp; updateEndedCount++;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; if (updateStartedCount == updateEndedCount)
&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; addLog("All layers are updated");
&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp; }

&amp;nbsp; ]]&amp;gt;
 &amp;lt;/fx:Script&amp;gt;
 
&amp;lt;/s:Application&amp;gt;
&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 12 Dec 2021 07:14:45 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-api-for-flex-questions/event-thrown-when-map-is-finished-loading/m-p/731965#M16241</guid>
      <dc:creator>IvanBespalov</dc:creator>
      <dc:date>2021-12-12T07:14:45Z</dc:date>
    </item>
    <item>
      <title>Re: Event thrown when map is FINISHED loading?</title>
      <link>https://community.esri.com/t5/arcgis-api-for-flex-questions/event-thrown-when-map-is-finished-loading/m-p/731966#M16242</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Thanks for your answer! Listening LayerEvent.UPDATE_END works.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;It would be nice to have access to a property Layer.updated. Without listening an event on the layer, it's not possible to know whether it's ready or not.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 24 Apr 2012 11:32:39 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-api-for-flex-questions/event-thrown-when-map-is-finished-loading/m-p/731966#M16242</guid>
      <dc:creator>Ganael_Jatteau</dc:creator>
      <dc:date>2012-04-24T11:32:39Z</dc:date>
    </item>
  </channel>
</rss>

