public async Task <CycloMediaLayer> AddLayerAsync(string name, MapView mapView = null) { CycloMediaLayer thisLayer = null; if (!this.Aggregate(false, (current, cycloLayer) => cycloLayer.Name == name || current)) { thisLayer = AllLayers.Aggregate <CycloMediaLayer, CycloMediaLayer> (null, (current, checkLayer) => (checkLayer.Name == name) ? checkLayer : current); if (thisLayer != null) { Add(thisLayer); await thisLayer.AddToLayersAsync(mapView); // ReSharper disable once ExplicitCallerInfoArgument NotifyPropertyChanged(nameof(Count)); FrameworkApplication.State.Activate("globeSpotterArcGISPro_recordingLayerEnabledState"); if (thisLayer.UseDateRange) { FrameworkApplication.State.Activate("globeSpotterArcGISPro_historicalLayerEnabledState"); } } } return(thisLayer); }
private IList <CycloMediaLayer> GetCurrentLayers() { IList <CycloMediaLayer> result = new List <CycloMediaLayer>(); IMap map = ArcUtils.Map; if (map != null) { // ReSharper disable UseIndexedProperty var layers = map.get_Layers(); ILayer layer; while ((layer = layers.Next()) != null) { CycloMediaLayer thisLayer = AllLayers.Aggregate <CycloMediaLayer, CycloMediaLayer> (null, (current, checkLayer) => (checkLayer.Name == layer.Name) ? checkLayer : current); if (thisLayer != null) { result.Add(thisLayer); } } // ReSharper restore UseIndexedProperty } return(result); }
public CycloMediaLayer AddLayer(string name) { CycloMediaLayer thisLayer = null; if (!Layers.Aggregate(false, (current, cycloLayer) => (cycloLayer.Name == name) || current)) { thisLayer = AllLayers.Aggregate <CycloMediaLayer, CycloMediaLayer> (null, (current, checkLayer) => (checkLayer.Name == name) ? checkLayer : current); if (thisLayer != null) { thisLayer.AddToLayers(); } } return(thisLayer); }
public void Add(Layer layer) { AllLayers.Add(layer); }