[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.
Přihlášení členové mohou přispívat, sledovat aktualizace a další. Jste tu noví? Zaregistrujte si bezplatný účet.
Find useful guides, FAQs, and documents to help you navigate and make the most of Esri Community.