예제 #1
0
        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);
        }
예제 #2
0
        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);
            }));
        }
예제 #3
0
        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;
            }
        }
예제 #4
0
        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);
        }
예제 #5
0
 //发送参数到大屏
 public void SendParamsToRemote()
 {
     MapMethods.SendChangePadParams(width, height, x, y, zindex, name, fontsize);
 }
예제 #6
0
        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)));
        }
예제 #7
0
        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();
            }
        }