/// <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); }
/// <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); }
/// <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); }
/// <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); }
/// <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); }
public void UpdateLayerMenu(LayerMenuOptions config) { this.settingsDataContext.UpdateLayerMenu(config); }