Ejemplo n.º 1
0
        /// <summary>
        /// Update layer menu
        /// </summary>
        /// <param name="layerMenu"></param>
        internal void UpdateLayerMenu(LayerMenuOptions layerMenu, string mapFile)
        {
            MapConfig config = readMapConfigFromFile(mapFile);
            var       tool   = config.tools.Find(t => t.type == "layerswitcher");

            tool.options = layerMenu;
            this.saveMapConfigToFile(config, mapFile);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Update layer menu
        /// </summary>
        /// <param name="layerMenu"></param>
        public void UpdateLayerMenu(LayerMenuOptions layerMenu)
        {
            MapConfig config = readMapConfigFromFile();
            var       tool   = config.tools.Find(t => t.type == "layerswitcher");

            tool.options = layerMenu;
            this.saveMapConfigToFile(config);
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Removes WMS-layer from config
        /// </summary>
        /// <param name="id"></param>
        private void removeLayerFromConfig(string id)
        {
            MapConfig        config  = readMapConfigFromFile();
            var              tool    = config.tools.Find(t => t.type == "layerswitcher");
            LayerMenuOptions options = JsonConvert.DeserializeObject <LayerMenuOptions>(tool.options.ToString());

            this.removeLayer(id, options.groups);
            this.removeLayer(id, options.baselayers);
            config.tools.Where(t => t.type == "layerswitcher").FirstOrDefault().options = options;
            this.saveMapConfigToFile(config);
        }
Ejemplo n.º 4
0
        /// <summary>
        /// Re index the layers in the application.
        /// </summary>
        internal void IndexLayerMenu()
        {
            LayerConfig layerConfig = this.readLayerConfigFromFile();

            this.getMapConfigFiles().ForEach(mapFile =>
            {
                layerConfig = this.readLayerConfigFromFile();
                List <ILayerConfig> layers = new List <ILayerConfig>();
                layerConfig.arcgislayers.ForEach((layer) => layers.Add(layer));
                layerConfig.wfstlayers.ForEach((layer) => layers.Add(layer));
                layerConfig.wmslayers.ForEach((layer) => layers.Add(layer));
                layerConfig.wmtslayers.ForEach((layer) => layers.Add(layer));
                layerConfig.vectorlayers.ForEach((layer) => layers.Add(layer));

                MapConfig mapConfig      = this.readMapConfigFromFile(mapFile);
                Tool layerSwitcher       = mapConfig.tools.Find(a => a.type == "layerswitcher");
                LayerMenuOptions options = JsonConvert.DeserializeObject <LayerMenuOptions>(layerSwitcher.options.ToString());

                int newLayerId = 0;
                layers.ForEach(layer =>
                {
                    string oldLayerId = layer.id;

                    for (int i = 0; i < options.baselayers.Count; i++)
                    {
                        if (options.baselayers[i].id == oldLayerId)
                        {
                            options.baselayers[i].id = newLayerId.ToString();
                        }
                    }

                    this.FindAndUpdateLayerInGroup(options.groups, oldLayerId, newLayerId.ToString());
                    layer.id    = newLayerId.ToString();
                    newLayerId += 1;
                });

                layerSwitcher.options = options;
                mapConfig.tools[mapConfig.tools.IndexOf(layerSwitcher)] = layerSwitcher;
                this.saveMapConfigToFile(mapConfig, mapFile);
            });

            this.saveLayerConfigToFile(layerConfig);
        }
Ejemplo n.º 5
0
 /// <summary>
 /// Removes WMS-layer from config
 /// </summary>
 /// <param name="id"></param>
 private void removeLayerFromConfig(string id)
 {
     try
     {
         List <string> configFiles = this.getMapConfigFiles();
         configFiles.ForEach(mapFile =>
         {
             MapConfig config         = readMapConfigFromFile(mapFile);
             var tool                 = config.tools.Find(t => t.type == "layerswitcher");
             LayerMenuOptions options = JsonConvert.DeserializeObject <LayerMenuOptions>(tool.options.ToString());
             this.removeLayer(id, options.groups);
             this.removeLayer(id, options.baselayers);
             config.tools.Where(t => t.type == "layerswitcher").FirstOrDefault().options = options;
             this.saveMapConfigToFile(config, mapFile);
         });
     }
     catch (Exception e)
     {
         _log.ErrorFormat("Exception in removeLayerFromConfig: {0}", e.Message);
         throw e;
     }
 }
 public void Put(LayerMenuOptions config, string mapFile)
 {
     this.settingsDataContext.UpdateLayerMenu(config, mapFile);
 }
Ejemplo n.º 7
0
 public void UpdateLayerMenu(LayerMenuOptions config)
 {
     this.settingsDataContext.UpdateLayerMenu(config);
 }