public static ServerLayer FromJson(JsonObject jsonObject)
{
if (jsonObject == null)
{
return null;
}
ServerLayer result = new ServerLayer();
#region
if (jsonObject.ContainsKey("caption"))
{
result.Caption = (string)jsonObject["caption"];
}
if (jsonObject.ContainsKey("name"))
{
result.Name = (string)jsonObject["name"];
}
if (jsonObject.ContainsKey("isSymbolScalable"))
{
result.IsSymbolScalable = (bool)jsonObject["isSymbolScalable"];
}
if (jsonObject.ContainsKey("minScale"))
{
result.MinScale = (double)jsonObject["minScale"];
}
if (jsonObject.ContainsKey("minVisibleGeometrySize"))
{
result.MinVisibleGeometrySize = (double)jsonObject["minVisibleGeometrySize"];
}
if (jsonObject.ContainsKey("opaqueRate"))
{
result.OpaqueRate = (int)jsonObject["opaqueRate"];
}
if (jsonObject.ContainsKey("queryable"))
{
result.Queryable = (bool)jsonObject["queryable"];
}
if (jsonObject.ContainsKey("visible"))
{
result.Visible = (bool)jsonObject["visible"];
}
if (jsonObject.ContainsKey("description"))
{
result.Description = (string)jsonObject["description"];
}
if (jsonObject.ContainsKey("layerSetting") && jsonObject["layerSetting"] != null)
{
if (jsonObject["layerSetting"]["layerSettingType"] == 12)
{
result.ServerLayerSetting = SuperMapCollectionLayerSetting.FromJson((JsonObject)jsonObject["layerSetting"]);
}
else if (jsonObject["layerSetting"]["layerSettingType"] == 1)
{
result.ServerLayerSetting = SuperMapLayerSetting.FromJson((JsonObject)jsonObject["layerSetting"]);
}
else if (jsonObject["layerSetting"]["layerSettingType"] == 2)
{
result.ServerLayerSetting = WmsLayerSetting.FromJson(((JsonObject)jsonObject["layerSetting"]));
}
//这个应该写全了;
}
if (jsonObject.ContainsKey("displayFilter"))
{
result.DisplayFilter = (string)jsonObject["displayFilter"];
}
if (jsonObject.ContainsKey("maxScale"))
{
result.MaxScale = (double)jsonObject["maxScale"];
}
#endregion
if (jsonObject.ContainsKey("subLayers") && jsonObject["subLayers"] != null)
{
result.ServerSubLayers = new List<ServerLayer>();
for (int i = 0; i < jsonObject["subLayers"].Count; i++)
{
ServerLayer subLayer = new ServerLayer();
subLayer.Caption = (string)jsonObject["subLayers"][i]["caption"];
subLayer.Name = (string)jsonObject["subLayers"][i]["name"];
subLayer.IsSymbolScalable = (bool)jsonObject["subLayers"][i]["isSymbolScalable"];
subLayer.MinScale = (double)jsonObject["subLayers"][i]["minScale"];
subLayer.MinVisibleGeometrySize = (double)jsonObject["subLayers"][i]["minVisibleGeometrySize"];
subLayer.OpaqueRate = (int)jsonObject["subLayers"][i]["opaqueRate"];
subLayer.Queryable = (bool)jsonObject["subLayers"][i]["queryable"];
subLayer.Visible = (bool)jsonObject["subLayers"][i]["visible"];
subLayer.Description = (string)jsonObject["subLayers"][i]["description"];
if (jsonObject["subLayers"][i]["layerSetting"] != null)
{
if (jsonObject["subLayers"][i]["layerSetting"]["layerSettingType"] == 1)
{
subLayer.ServerLayerSetting = SuperMapLayerSetting.FromJson((JsonObject)jsonObject["subLayers"][i]["layerSetting"]);
}
else if (jsonObject["subLayers"][i]["layerSetting"]["layerSettingType"] == 2)
{
subLayer.ServerLayerSetting = WmsLayerSetting.FromJson((JsonObject)jsonObject["subLayers"][i]["layerSetting"]);
}
else if (jsonObject["subLayers"][i]["layerSetting"]["layerSettingType"] == 12)
{
subLayer.ServerLayerSetting = SuperMapCollectionLayerSetting.FromJson((JsonObject)jsonObject["subLayers"][i]["layerSetting"]);
}
}
subLayer.DisplayFilter = (string)jsonObject["subLayers"][i]["displayFilter"];
subLayer.MaxScale = (double)jsonObject["subLayers"][i]["maxScale"];
result.ServerSubLayers.Add(subLayer);
}
}
return result;
}