SuperMap.Web.iServerJava6R.GetMapStatusResult.FromJson C# (CSharp) Method

FromJson() static private method

static private FromJson ( System.Json.JsonObject json ) : GetMapStatusResult
json System.Json.JsonObject
return GetMapStatusResult
        internal static GetMapStatusResult FromJson(JsonObject json)
        {
            if (json == null) return null;
            GetMapStatusResult result = new GetMapStatusResult();
            result.Angle = (double)json["angle"];
            result.Antialias = (bool)json["antialias"];
            result.BackgroundStyle = ServerStyle.FromJson((JsonObject)json["backgroundStyle"]);
            result.Bounds = JsonHelper.ToRectangle2D((JsonObject)json["bounds"]);
            result.IsCacheEnabled = (bool)json["cacheEnabled"];
            result.Center = JsonHelper.ToPoint2D((JsonObject)json["center"]);
            result.ClipRegion = ServerGeometry.FromJson((JsonObject)json["clipRegion"]);
            result.IsClipRegionEnabled = (bool)json["clipRegionEnabled"];
            if (json["colorMode"] != null)
            {
                result.ColorMode = (MapColorMode)Enum.Parse(typeof(MapColorMode), json["colorMode"], true);
            }
            if (json["coordUnit"] != null)
            {
                result.CoordUnit = (Unit)Enum.Parse(typeof(Unit), json["coordUnit"], true);
            }
            result.CustomEntireBounds = JsonHelper.ToRectangle2D((JsonObject)json["customEntireBounds"]);
            result.IsCustomEntireBoundsEnabled = (bool)json["customEntireBoundsEnabled"];
            result.CustomParams = (string)json["customParams"];
            result.Description = (string)json["description"];
            if (json["distanceUnit"] != null)
            {
                result.DistanceUnit = (Unit)Enum.Parse(typeof(Unit), json["distanceUnit"], true);
            }
            result.IsDynamicProjection = (bool)json["dynamicProjection"];
            result.IsMarkerAngleFixed = (bool)json["markerAngleFixed"];
            result.MaxScale = (double)json["maxScale"];
            result.MaxVisibleTextSize = (double)json["maxVisibleTextSize"];
            result.MaxVisibleVertex = (int)json["maxVisibleVertex"];
            result.MinScale = (double)json["minScale"];
            result.MinVisibleTextSize = (double)json["minVisibleTextSize"];
            result.Name = (string)json["name"];
            result.IsOverlapDisplayed = (bool)json["overlapDisplayed"];
            result.IsPaintBackground = (bool)json["paintBackground"];
            result.PrjCoordSys = PrjCoordSys.FromJson((JsonObject)json["prjCoordSys"]);
            result.Scale = (double)json["scale"];
            result.IsTextAngleFixed = (bool)json["textAngleFixed"];
            result.IsTextOrientationFixed = (bool)json["textOrientationFixed"];
            result.UserToken = UserInfo.FromJson((JsonObject)json["userToken"]);
            result.ViewBounds = JsonHelper.ToRectangle2D((JsonObject)json["viewBounds"]);
            result.Viewer = JsonHelper.ToRect((JsonObject)json["viewer"]);

            result.VisibleScalesEnabled = (json["visibleScalesEnabled"] != null ? (bool)json["visibleScalesEnabled"] : false);
            if (result.VisibleScalesEnabled && json["visibleScales"] != null)
            {
                try
                {
                    foreach (var item in json["visibleScales"])
                    {
                        result.VisibleScales.Add(Convert.ToDouble(item.ToString()));
                    }
                }
                catch (Exception)
                {
                    result.VisibleScales.Clear();
                    result.VisibleScalesEnabled = false;
                }
            }
            return result;
        }