<?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: Dynamiclayer Visibility of sublayers doesn't change without movement in ArcGIS Runtime SDK for iOS Questions</title>
    <link>https://community.esri.com/t5/arcgis-runtime-sdk-for-ios-questions/dynamiclayer-visibility-of-sublayers-doesn-t/m-p/619492#M5493</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Of course.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;First, i check if the visiblelayer array is initialised. This is done in a synchronized code block, just to be sure.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (self.dynamicLayer.visibleLayers == nil){
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NSLog(@"VisibleLayer is nil, initializing it.");
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NSMutableArray *visLayers = [[NSMutableArray alloc]init];
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (AGSMapServiceLayerInfo* layer in self.dynamicLayer.mapServiceInfo.layerInfos){
&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 (layer.parentLayerID != -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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (layer.defaultVisibility ){
&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; [visLayers addObject:[NSNumber numberWithUnsignedInt:layer.layerId]];
&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;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; self.dynamicLayer.visibleLayers = [visLayers mutableCopy];
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [visLayers autorelease];
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;No problems there.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Next, when i want to change the visibillity of the layers, i use the following function:&lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;- (void) setLayerVisibillity:(NSNumber *)layerId :(Boolean)visibillity
{
&amp;nbsp;&amp;nbsp;&amp;nbsp; NSMutableArray *visibleLayers = [self.dynamicLayer.visibleLayers mutableCopy];
&amp;nbsp;&amp;nbsp;&amp;nbsp; if (visibillity &amp;amp;&amp;amp; ![visibleLayers containsObject:layerId]){
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [visibleLayers addObject:layerId];
&amp;nbsp;&amp;nbsp;&amp;nbsp; } else {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [visibleLayers removeObject:layerId];
&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; self.dynamicLayer.visibleLayers = [visibleLayers mutableCopy];
&amp;nbsp;&amp;nbsp;&amp;nbsp; [visibleLayers release];
&amp;nbsp;&amp;nbsp;&amp;nbsp; //Doesn't work...
&amp;nbsp;&amp;nbsp;&amp;nbsp; //[self.dynamicLayer dataChanged];
&amp;nbsp;&amp;nbsp;&amp;nbsp; //WorkAround, without the ZoomToEnvelope the layer visibillity doesnt change.
&amp;nbsp;&amp;nbsp;&amp;nbsp; [self.mapView zoomToEnvelope:self.mapView.envelope animated:true];
}&lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;The ZoomToEnvelope works like a charm, but it is a extra call. DOwnside, it reloads the data from the server, which is not nice if you are working over celluar data..&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;More details:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;IOS 4.3.3&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;iPad2 3G&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Sun, 12 Dec 2021 02:27:37 GMT</pubDate>
    <dc:creator>ReneNijkamp</dc:creator>
    <dc:date>2021-12-12T02:27:37Z</dc:date>
    <item>
      <title>Dynamiclayer Visibility of sublayers doesn't change without movement</title>
      <link>https://community.esri.com/t5/arcgis-runtime-sdk-for-ios-questions/dynamiclayer-visibility-of-sublayers-doesn-t/m-p/619490#M5491</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'm using a dynamiclayer with a bunch of sublayers.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;When i change the visibillity of the sublayers (through the self.dynamicLayer.visibleLayers variable) the mapview (and thereby the dynamiclayer) doesnt change. The selected or deselected objects arent (dis)appearing, not even when the dynamiclayer datachanged method is called.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Only when the map is moved the data changed (due reload of the data)...&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Is this wanted behaviour? It's kinda annoying that it doesnt change on the datachanged call...&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;For now i implemented a work-around:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="plain" name="code"&gt;[self.mapView zoomToEnvelope:self.mapView.envelope animated:true];
&lt;/PRE&gt;&lt;DIV style="display:none;"&gt; &lt;/DIV&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Many thanks.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 06 Jun 2011 08:39:47 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-runtime-sdk-for-ios-questions/dynamiclayer-visibility-of-sublayers-doesn-t/m-p/619490#M5491</guid>
      <dc:creator>ReneNijkamp</dc:creator>
      <dc:date>2011-06-06T08:39:47Z</dc:date>
    </item>
    <item>
      <title>Re: Dynamiclayer Visibility of sublayers doesn't change without movement</title>
      <link>https://community.esri.com/t5/arcgis-runtime-sdk-for-ios-questions/dynamiclayer-visibility-of-sublayers-doesn-t/m-p/619491#M5492</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;The behavior you described is not expected. Can you please share your code?&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 07 Jun 2011 17:32:08 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-runtime-sdk-for-ios-questions/dynamiclayer-visibility-of-sublayers-doesn-t/m-p/619491#M5492</guid>
      <dc:creator>DiveshGoyal</dc:creator>
      <dc:date>2011-06-07T17:32:08Z</dc:date>
    </item>
    <item>
      <title>Re: Dynamiclayer Visibility of sublayers doesn't change without movement</title>
      <link>https://community.esri.com/t5/arcgis-runtime-sdk-for-ios-questions/dynamiclayer-visibility-of-sublayers-doesn-t/m-p/619492#M5493</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Of course.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;First, i check if the visiblelayer array is initialised. This is done in a synchronized code block, just to be sure.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (self.dynamicLayer.visibleLayers == nil){
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NSLog(@"VisibleLayer is nil, initializing it.");
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NSMutableArray *visLayers = [[NSMutableArray alloc]init];
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (AGSMapServiceLayerInfo* layer in self.dynamicLayer.mapServiceInfo.layerInfos){
&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 (layer.parentLayerID != -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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (layer.defaultVisibility ){
&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; [visLayers addObject:[NSNumber numberWithUnsignedInt:layer.layerId]];
&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;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; self.dynamicLayer.visibleLayers = [visLayers mutableCopy];
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [visLayers autorelease];
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;No problems there.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Next, when i want to change the visibillity of the layers, i use the following function:&lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;- (void) setLayerVisibillity:(NSNumber *)layerId :(Boolean)visibillity
{
&amp;nbsp;&amp;nbsp;&amp;nbsp; NSMutableArray *visibleLayers = [self.dynamicLayer.visibleLayers mutableCopy];
&amp;nbsp;&amp;nbsp;&amp;nbsp; if (visibillity &amp;amp;&amp;amp; ![visibleLayers containsObject:layerId]){
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [visibleLayers addObject:layerId];
&amp;nbsp;&amp;nbsp;&amp;nbsp; } else {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [visibleLayers removeObject:layerId];
&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; self.dynamicLayer.visibleLayers = [visibleLayers mutableCopy];
&amp;nbsp;&amp;nbsp;&amp;nbsp; [visibleLayers release];
&amp;nbsp;&amp;nbsp;&amp;nbsp; //Doesn't work...
&amp;nbsp;&amp;nbsp;&amp;nbsp; //[self.dynamicLayer dataChanged];
&amp;nbsp;&amp;nbsp;&amp;nbsp; //WorkAround, without the ZoomToEnvelope the layer visibillity doesnt change.
&amp;nbsp;&amp;nbsp;&amp;nbsp; [self.mapView zoomToEnvelope:self.mapView.envelope animated:true];
}&lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;The ZoomToEnvelope works like a charm, but it is a extra call. DOwnside, it reloads the data from the server, which is not nice if you are working over celluar data..&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;More details:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;IOS 4.3.3&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;iPad2 3G&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 12 Dec 2021 02:27:37 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-runtime-sdk-for-ios-questions/dynamiclayer-visibility-of-sublayers-doesn-t/m-p/619492#M5493</guid>
      <dc:creator>ReneNijkamp</dc:creator>
      <dc:date>2021-12-12T02:27:37Z</dc:date>
    </item>
    <item>
      <title>Re: Dynamiclayer Visibility of sublayers doesn't change without movement</title>
      <link>https://community.esri.com/t5/arcgis-runtime-sdk-for-ios-questions/dynamiclayer-visibility-of-sublayers-doesn-t/m-p/619493#M5494</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 read some information on &lt;/SPAN&gt;&lt;A href="http://help.arcgis.com/en/arcgismobile/10.0/apis/ios/1.8/concepts/index.html#/ArcGIS_Dynamic_Map_Service_Layer/00pw0000004m000000/"&gt;http://help.arcgis.com/en/arcgismobile/10.0/apis/ios/1.8/concepts/index.html#/ArcGIS_Dynamic_Map_Service_Layer/00pw0000004m000000/&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;An ArcGIS Dynamic Map Service layer displays map content from an ArcGIS Server Map service. The Map service must not have been cached (tiled). The service generates map images when requested by the layer.&lt;/BLOCKQUOTE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I suppose it's impossible change current image on screen without service actions (because only service generates map images).&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 24 Jun 2011 12:49:03 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-runtime-sdk-for-ios-questions/dynamiclayer-visibility-of-sublayers-doesn-t/m-p/619493#M5494</guid>
      <dc:creator>MuratDzhusupov</dc:creator>
      <dc:date>2011-06-24T12:49:03Z</dc:date>
    </item>
    <item>
      <title>Re: Dynamiclayer Visibility of sublayers doesn't change without movement</title>
      <link>https://community.esri.com/t5/arcgis-runtime-sdk-for-ios-questions/dynamiclayer-visibility-of-sublayers-doesn-t/m-p/619494#M5495</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Thanks. It works with this work-around. We want to cache this data, so these actions are necessary.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 26 Jul 2011 10:47:54 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-runtime-sdk-for-ios-questions/dynamiclayer-visibility-of-sublayers-doesn-t/m-p/619494#M5495</guid>
      <dc:creator>ReneNijkamp</dc:creator>
      <dc:date>2011-07-26T10:47:54Z</dc:date>
    </item>
  </channel>
</rss>

