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;
}