void geometryTask_BufferCompleted(object sender, GraphicsEventArgs e) { if (e.Results.Count <= 0) { PublicParams.listCameras.Clear();//清空列表 return; } Graphic bufferGraphic = new Graphic(); bufferGraphic.Geometry = e.Results[0].Geometry; ExecuteAsyncQueryForDrawing(e.Results[0].Geometry, PublicParams.urlCamerasLayer);//查找视频点 bufferGraphic.Symbol = App.Current.Resources["DefaultFillSymbol"] as ESRI.ArcGIS.Client.Symbols.Symbol; MapLayers.AddGraphicToGLayerByLayerID(bufferGraphic, PublicParams.gLayerDrawing); MapMethods.SendGraphic(bufferGraphic); }
void consumerCases_Listener(IMessage message) { ITextMessage msg = (ITextMessage)message; PublicParams.pubMainMap.Dispatcher.Invoke(new Action(delegate { JObject json = JObject.Parse(msg.Text); if (json["JJDBH"].ToString() == "00000")//演示用的程序会推送一些编号为00000的数据,清空案件图层 { MapLayers.ClearGLayerByID(PublicParams.gLayerCase); MapMethods.SendClearGraphicsLayerByID(PublicParams.gLayerCase); return; } DrawCase(json); })); }
private static void HandleCommands(JObject rejson) { switch (rejson["CMD"].ToString()) { case "SYNCR": MapMethods.MoveAndZoomMapByJson(rejson); break; case "PoliceCarPositon": //LogHelper.WriteLog(PublicParams.type, rejson["TITLE"].ToString() + " " + rejson["X"].ToString() + " " + rejson["Y"].ToString()); PublicParams.bigScreenX = Convert.ToInt32(rejson["X"].ToString()); PublicParams.bigScreenY = Convert.ToInt32(rejson["Y"].ToString()); WallVideosHelper.MovePoliceCarVideoToWall(PublicParams.bigScreenCamera); break; default: break; } }
private void ShowTextSymbolByGraphic(Graphic graphic, string result) { MapLayers.AddGraphicToGLayerByLayerID(graphic, PublicParams.gLayerLengthOrArea); double xCenter = (graphic.Geometry.Extent.XMax + graphic.Geometry.Extent.XMin) / 2; double yCenter = (graphic.Geometry.Extent.YMax + graphic.Geometry.Extent.YMin) / 2; MapPoint mpCenter = new MapPoint(xCenter, yCenter, graphic.Geometry.SpatialReference); TextSymbol txtSymbol = PublicParams.textSymbol; Graphic gResult = new Graphic() { Geometry = mpCenter, Symbol = txtSymbol }; gResult.Attributes["Result"] = result; gResult.SetZIndex(2); MapLayers.AddGraphicToGLayerByLayerID(gResult, PublicParams.gLayerLengthOrArea); //发送到大屏 MapMethods.SendLengthOrAreaResult(graphic, result, graphic.Geometry.GetType().Name); }
//发送参数到大屏 public void SendParamsToRemote() { MapMethods.SendChangePadParams(width, height, x, y, zindex, name, fontsize); }
public static string GetCurrentPositionJson() { MapPoint MapCenter = PublicParams.pubMainMap.Extent.GetCenter(); return(string.Format("{{CMD:'00001',CENTX:{0},CENTY:{1},LEVEL:{2}}}", MapCenter.X.ToString(), MapCenter.Y.ToString(), MapMethods.GetLevel(PublicParams.pubMainMap.Resolution))); }
public static void OpenVideoToWall(Camera camera) { /* * for (int i = 0; i < PublicParams.arrayWallVideo.Length; i++) * { * if (PublicParams.arrayWallVideo[i]!=null) * { * continue; * } * switch (i) * { * case 0: * DVCSServer.SendCMD(DVCSAgreement.OpenWin(1, 0, DVCSAgreement.GetByteListByString(MAC,false), 0, x2, y1, w, h, zindex)); * WallVideo wv0 = new WallVideo("XXXXX", 0); * PublicParams.listWallVideos.Add(wv0); * PublicParams.arrayWallVideo[i] = wv0; * MapMethods.SendOpenPadVideos(); * break; * * case 1: * DVCSServer.SendCMD(DVCSAgreement.OpenWin(1, 0, DVCSAgreement.GetByteListByString(MAC, false), 1, x2, y2, w, h, zindex)); * WallVideo wv1 = new WallVideo("XXXXX", 0); * PublicParams.listWallVideos.Add(wv1); * PublicParams.arrayWallVideo[i] = wv1; * break; * case 2: * DVCSServer.SendCMD(DVCSAgreement.OpenWin(1, 0, DVCSAgreement.GetByteListByString(MAC, false), 2, x1, y1, w, h, zindex)); * WallVideo wv2 = new WallVideo("XXXXX", 0); * PublicParams.listWallVideos.Add(wv2); * PublicParams.arrayWallVideo[i] = wv2; * break; * case 3: * DVCSServer.SendCMD(DVCSAgreement.OpenWin(1, 0, DVCSAgreement.GetByteListByString(MAC, false), 3, x1, y2, w, h, zindex)); * WallVideo wv3 = new WallVideo("XXXXX", 0); * PublicParams.listWallVideos.Add(wv3); * PublicParams.arrayWallVideo[i] = wv3; * break; * default: * break; * } * break; * * } */ int id = GetEmptyWallVideo(); string mac = string.Empty; int channelID = 0; if (id != -1) { int xp = 0; int yp = 0; switch (id) { case 0: xp = PublicParams.x2; yp = PublicParams.y1; mac = PublicParams.MAC1; channelID = PublicParams.channel1; break; case 1: xp = PublicParams.x2; yp = PublicParams.y2; mac = PublicParams.MAC2; channelID = PublicParams.channel2; break; case 2: xp = PublicParams.x1; yp = PublicParams.y1; mac = PublicParams.MAC3; channelID = PublicParams.channel3; break; case 3: xp = PublicParams.x1; yp = PublicParams.y2; mac = PublicParams.MAC4; channelID = PublicParams.channel4; break; default: break; } camera.ID = id; camera.MAC = mac; camera.ChannelID = channelID; camera.Kind = PublicParams.dvcsServerMainName; PublicParams.currentVideoFlag = id; PublicParams.arrayOpenedVideos[id] = new Camera(camera);//把已打开的视频保存到已打开视频列表中,并等待更新已打开视频列表中该项的Camera.WinID,因为关闭窗口的时候要用到WinID PublicParams.dvcsServerMain.SendCMD(DVCSAgreement.OpenWin(PublicParams.wallID, 0, DVCSAgreement.GetByteListByString(mac, false), channelID, xp, yp, PublicParams.w, PublicParams.h, PublicParams.zindex)); MapMethods.SendShowHidePadVideosTextByID(camera.Name, id + 1, "1"); //LogHelper.WriteLog("在OpenVideoToWall中打印,执行OpenVideoToWallForDVCS2前-------------------------------"); //WallVideosHelper.ShowKeyMessage();//mark by LPY 打印关键信息-调试用 WallVideosHelper.RefreshOpenedVideos(); camera.Kind = PublicParams.dvcsServer2Name; OpenVideoToWallForDVCS2(camera); //LogHelper.WriteLog("在OpenVideoToWall中打印,执行OpenVideoToWallForDVCS2后-------------------------------"); //WallVideosHelper.ShowKeyMessage();//mark by LPY 打印关键信息-调试用 ////LPY 2016-3-29 添加该段代码 但是由于中达新接口不打算启用,注释掉 //WallVideo wv = new WallVideo(camera.Name, camera.SourceID, xp, yp, PublicParams.w, PublicParams.h, PublicParams.zindex, 1); //DVCSServer.SendCMD(DVCSAgreement.OpenWinWithTitle(PublicParams.wallID, wv)); //camera.ID = id; //PublicParams.currentVideoFlag = id; //PublicParams.currentCamera = camera; //PublicParams.arrayOpenedVideos[id] = camera; //PadOpenedVideos.RefreshOpenedVideos(); } }