Esempio n. 1
0
        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);
        }
Esempio n. 4
0
 public void Add(Layer layer)
 {
     AllLayers.Add(layer);
 }