[self.mapView zoomToEnvelope:self.mapView.envelope animated:true];
if (self.dynamicLayer.visibleLayers == nil){ NSLog(@VisibleLayer is nil, initializing it.); NSMutableArray *visLayers = [[NSMutableArray alloc]init]; for (AGSMapServiceLayerInfo* layer in self.dynamicLayer.mapServiceInfo.layerInfos){ if (layer.parentLayerID != -1){ if (layer.defaultVisibility ){ [visLayers addObject:[NSNumber numberWithUnsignedInt:layer.layerId]]; } } } self.dynamicLayer.visibleLayers = [visLayers mutableCopy]; [visLayers autorelease]; } }
- (void) setLayerVisibillity:(NSNumber *)layerId :(Boolean)visibillity { NSMutableArray *visibleLayers = [self.dynamicLayer.visibleLayers mutableCopy]; if (visibillity && ![visibleLayers containsObject:layerId]){ [visibleLayers addObject:layerId]; } else { [visibleLayers removeObject:layerId]; } self.dynamicLayer.visibleLayers = [visibleLayers mutableCopy]; [visibleLayers release]; //Doesn't work... //[self.dynamicLayer dataChanged]; //WorkAround, without the ZoomToEnvelope the layer visibillity doesnt change. [self.mapView zoomToEnvelope:self.mapView.envelope animated:true]; }
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.
Membros conectados podem postar, seguir atualizações e mais. Novo aqui? Registre uma conta gratuita.
Find useful guides, FAQs, and documents to help you navigate and make the most of Esri Community.