Example #1
0
        public IActionResult ServiceLayers(string folder, string id)
        {
            try
            {
                if (folder != DefaultFolder)
                {
                    throw new Exception("Unknown folder: " + folder);
                }

                var map = InternetMapServer.Instance[id];
                if (map == null)
                {
                    throw new Exception("Unknown service: " + id);
                }

                var jsonLayers = new JsonLayers();
                jsonLayers.Layers = map.MapElements.Select(e => Layer(map, e.ID)).ToArray();

                return(Result(jsonLayers));
            }
            catch (Exception ex)
            {
                return(Json(new JsonError()
                {
                    error = new JsonError.Error()
                    {
                        code = 999, message = ex.Message
                    }
                }));
            }
        }
Example #2
0
        public IActionResult ServiceLayer(string folder, string id, int layerId)
        {
            try
            {
                if (folder != DefaultFolder)
                {
                    throw new Exception("Unknown folder: " + folder);
                }

                var map = InternetMapServer.Instance[id];
                if (map == null)
                {
                    throw new Exception("Unknown service: " + id);
                }

                var jsonLayers = new JsonLayers();
                return(Result(Layer(map, layerId)));
            }
            catch (Exception ex)
            {
                return(Json(new JsonError()
                {
                    error = new JsonError.Error()
                    {
                        code = 999, message = ex.Message
                    }
                }));
            }
        }
        private string LayerFullname(JsonLayers layers, JsonLayer layer)
        {
            string name = layer.Name;

            while (layer != null && layer.ParentLayer != null)
            {
                layer = layers.LayerById(layer.ParentLayer.Id);
                if (layer != null)
                {
                    if (layer.Type == "Annotation Layer" || layer.Type == "Annotation SubLayer")
                    {
                        name = $"{ layer.Name }/{ layer.Name } ({ name })";
                    }
                    else
                    {
                        name = $"{ layer.Name }/{ name }";
                    }
                }
            }

            return(name);
        }