/// <summary> /// LPY 2016-3-24 添加 /// 清空测距离和面积的图层 /// </summary> public static void ClearLengthOrAreaLayer() { PublicParams.pubMainMap.Dispatcher.BeginInvoke(new Action(() => { try { MapLayers.ClearGLayerByID(PublicParams.gLayerLengthOrArea); } catch (Exception) { } })); }
/// <summary> /// LPY 2015-9-6 添加 /// 处理指令 /// </summary> /// <param name="rejson">待解析处理的JSON字符串</param> public void HandleCommands(JObject rejson) { switch (rejson["CMD"].ToString()) { case "00000": //底图切换 MapMethods.ChangeMapByJson(rejson); break; case "00001": //地图移动、缩放 //MapMethods.MoveAndZoomMapByJson(rejson); PublicParams.pubX = Convert.ToDouble(rejson["CENTX"].ToString()); PublicParams.pubY = Convert.ToDouble(rejson["CENTY"].ToString()); PublicParams.pubLevel = Convert.ToInt32(rejson["LEVEL"].ToString()); //LogHelper.WriteLog(PublicParams.type,"从客户端收到:"+ rejson.ToString()); break; case "00105": //接收到客户端发来的Graphic,显示在大屏上 MapMethods.DrawBufferByJSON(rejson); //MapLayers.AddGraphicToGLayerByLayerID(JsonHelper.FromJson<Graphic>(rejson["GRAPHIC"].ToString()), PublicParams.gLayerDrawing); break; case "00106": //清空Buffer图层上的Graphics MapMethods.ClearBufferLayer(); break; case "10003": //根据客户端发来的Pad窗口名称和开关指令,执行大屏上的相应Pad显示或隐藏 PadHelper.SwitchPadByName(rejson["ITEM"].ToString(), rejson["SWITCH"].ToString()); break; case "00107": //打开InfoWindow //PublicParams.pubInfoWin.IsOpen = true; MapMethods.ShowInfoWindowByJSON(rejson); break; case "00108": PublicParams.pubInfoWin.IsOpen = false; break; case "00109": //清空测距离和面积图层 MapMethods.ClearLengthOrAreaLayer(); break; case "00110": //在大屏上标出测量的距离或者面积结果 MapMethods.ShowLengthOrAreaByJSON(rejson); break; case "00111": //在大屏上画出新案件点周边的视频点 MapMethods.ShowSearchCamerasByJson(rejson); break; case "00037": //弹出视频背景板 PublicParams.padVideos.Height = PublicParams.videoPadHeight; PublicParams.padVideos.Width = PublicParams.videoPadWidth; //PublicParams.padVideos.BeginStoryboard(App.Current.FindResource("StoryboardForPadVideosOpen") as Storyboard); break; case "00038": //收回视频背景板 PublicParams.padVideos.Height = 0; PublicParams.padVideos.Width = 0; //PadVideos.ClearPadTitles(); //PublicParams.padVideos.BeginStoryboard(App.Current.FindResource("StoryboardForPadVideosClose") as Storyboard); break; case "00029": //聚合图 MapLayers.SwitchLayerByID(rejson["LAYERID"].ToString(), rejson["SWITCH"].ToString()); break; case "00030": //热力图显隐 MapLayers.SwitchLayerByID(rejson["LAYERID"].ToString(), rejson["SWITCH"].ToString()); break; case "00031": //显示隐藏相应图层-FeatureLayer MapLayers.SwitchLayerByID(rejson["LAYERID"].ToString(), rejson["SWITCH"].ToString()); break; case "00032": //显示隐藏相应图层-GraphicsLayer MapLayers.SwitchLayerByID(rejson["LAYERID"].ToString(), rejson["SWITCH"].ToString()); break; case "00033": //清空GraphicsLayer图层 MapLayers.ClearGLayerByID(rejson["LAYERID"].ToString()); PublicParams.listCase.Clear(); break; case "00039": //根据指令显示或清空视频背景板相应背景的文字 PadVideos.ShowHideTextByTitle(rejson["TITLE"].ToString(), Convert.ToInt32(rejson["ID"].ToString()), rejson["SWITCH"].ToString()); break; case "00065": //控制端点击菜单指令 //PublicParams.padMenu.BeginStoryboard(App.Current.FindResource("StoryboardForPadMenuShow") as Storyboard); //PublicParams.padMenu.DrawMenu2ByJson(rejson); break; case "00061": //隐藏菜单指令 //PublicParams.padMenu.DrawMenu2ByJson(rejson); break; case "00041": //调整单个开窗位置 ParamsHelper.ExecParamsFromJson(rejson); break; case "00042": //保存全部窗口位置 ParamsHelper.ExecSaveParamsFromJson(rejson); break; case "00043": //调整单个开窗位置和窗体名称 //ParamsHelper.ExecParamsAndNameFromJson(rejson); break; default: break; } }