Beispiel #1
0
        private void btnSY_Click(object sender, RoutedEventArgs e)
        {
            MyTile p = new MyTile();

            p.Url                  = SY;
            p.ID                   = "SY";
            p.Visible              = true;
            p.EnableOffline        = true;
            p.SaveOfflineTiles     = true;
            p.LoadOfflineTileFirst = true;
            mainmap.Layers.Clear();
            mainmap.Layers.Add(p);
            mainmap.Extent = new ESRI.ArcGIS.Client.Geometry.Envelope(121.1, 28.5, 121.38, 28.65);
        }
Beispiel #2
0
        public MainWindow()
        {
            // License setting and ArcGIS Runtime initialization is done in Application.xaml.cs.
            InitializeComponent();
            //VisualStateManager.GoToState(this, "vs1", true);
            #region 设置程序全屏代码
            this.WindowState = System.Windows.WindowState.Normal;
            this.WindowStyle = System.Windows.WindowStyle.None;
            this.ResizeMode  = System.Windows.ResizeMode.NoResize;

            this.Left   = 0.0;
            this.Top    = 0.0;
            this.Width  = System.Windows.SystemParameters.PrimaryScreenWidth;
            this.Height = System.Windows.SystemParameters.PrimaryScreenHeight;
            #endregion

            MyTile slmap = new MyTile();
            slmap.Url                  = SL;
            slmap.ID                   = "SL";
            slmap.Visible              = true;
            slmap.EnableOffline        = true;
            slmap.SaveOfflineTiles     = true;
            slmap.LoadOfflineTileFirst = true;
            mainmap.Layers.Add(slmap);
            mainmap.Extent = new ESRI.ArcGIS.Client.Geometry.Envelope(121.1, 28.5, 121.38, 28.65);

            MyTile yxmap = new MyTile();
            yxmap.Url                  = YX;
            yxmap.ID                   = "YX";
            yxmap.Visible              = false;
            yxmap.EnableOffline        = true;
            yxmap.SaveOfflineTiles     = true;
            yxmap.LoadOfflineTileFirst = true;
            mainmap.Layers.Add(yxmap);
            mainmap.Extent = new ESRI.ArcGIS.Client.Geometry.Envelope(121.1, 28.5, 121.38, 28.65);

            string SKURL = System.Configuration.ConfigurationManager.AppSettings["SHUIKU_PG"];
            ArcGISDynamicMapServiceLayer dy = new ArcGISDynamicMapServiceLayer();
            dy.Opacity = 0.8;
            dy.Url     = SKURL;
            mainmap.Layers.Add(dy);

            Thread.CurrentThread.IsBackground = true;

/*
 *          // 初始化MQ连接
 *          ConnectMQ();
 *          if (PUBLIC.connection == null)
 *              return;
 */
            //初始化当前地图图层
            if (!intGlyr())
            {
                MessageBox.Show("加载地图图层失败", "错误", MessageBoxButton.OK);
            }

            //    Traffic trffic = new Traffic(); // 交通流量



            // 原方案是接收GPS数据先保存在缓冲区,启动MoveingTarget 线程循环绘制
            //       MovingTarget ProcessCars = new MovingTarget();


            // UDP 方式接受GPS 数据改为 MQ 订阅
            //       PublicVARS.threadDataudp = new Thread(new ThreadStart(ReceiveData2));   // 数据流接收 从 2301,UDP
            //       PublicVARS.threadDataudp.Start();


            ScanMainCar SMC = new ScanMainCar();     // 指定对象的跟踪处理
            //     Thread ScanMain = new Thread(SMC.AsyncLoop);
            Task ScanMain = new Task(SMC.AsyncLoop); // 主控车跟踪
            ScanMain.Start();



            //   mainmap.Layers["Traffic"].Visible = false;
            //    ArcGISLocalDynamicMapServiceLayer Traffic = (ArcGISLocalDynamicMapServiceLayer)mainmap.Layers["Traffic"];


            // 接受Flex 客户端控制
            //     Thread License = new Thread(new ThreadStart(ReceiveLicenseTCP));
            Task License = new Task(ReceiveLicenseTCP);
            License.Start();



            if (GlobalLayers._policepointglr == null)
            {
                GlobalLayers._policepointglr             = new GraphicsLayer();
                GlobalLayers._policepointglr.ID          = "policepoint";
                GlobalLayers._policepointglr.DisplayName = "动态目标";
                mainmap.Layers.Add(GlobalLayers._policepointglr);
            }
            // Gps 处理主线程
            //     Thread GpsProcessThread = new Thread(new ThreadStart(ProcessGPS));
            Task GpsProcessThread = new Task(ProcessGPS);
            GpsProcessThread.Start();

            //LPY 2014-12-25 10:56:32 添加 水库数据处理主线程
            //Thread SKThread = new Thread(new ThreadStart(ShowSKInfoWindow));
            //SKThread.Start();

            try
            {
                GlobalLayers.ActiveLayer    = new GraphicsLayer();
                GlobalLayers.ActiveLayer.ID = "AJ_ACTIVE";
                mainmap.Layers.Add(GlobalLayers.ActiveLayer);
                //    mainmap.Layers.Insert()
            }
            catch (Exception)
            {
                GlobalLayers.ActiveLayer = null;
            };

            // 案件信息窗
            OpenAJINFO();

            //水库窗口--暂时注释
            //if (ConfigurationManager.AppSettings["IsShow"]=="1")
            //{
            OpenSKINFO();
            //}

            //LPY 2015-1-21 22:15:34 添加 视频窗口列表底图
            OpenSPINFO(); OpenSPLDPAD();//视频联动专用底板

            //LPY 2015-3-14 12:52:32 添加 信息窗口
            OpenXXINFO();

            //LPY 2015-3-26 14:51:35 添加 警车信息窗口
            OpenCarInfo();

            //LPY 2015-4-1 13:49:00 添加 预案信息窗口
            OpenYAInfo();

            //LPY 2015-5-22 18:50:13 添加 地图上方LOGO
            OpenLogoInfo();

            //LPY 2015-5-27 12:33:52 添加 通话窗口
            OpenTelInfo();

            //LPY 2015-7-9 14:22:49 添加 显示HTML文件的信息窗口
            OpenYAHtmlPAD();

            //LPY 2015-8-11 19:46:44 添加 预案巡逻线路信息显示
            OpenYAINFOPAD();

            CreatePadMenu();
            // 接收客户端控制代码
            //   PublicVARS.threadtcp = new Thread(new ThreadStart(ReceiveCmdTCP));        // 控制指令接收 从 2300,TCP
            PublicVARS.threadtcp = new Task(ReceiveCmdTCP);
            PublicVARS.threadtcp.Start();

            //LPY 2015-1-24 18:34:20 添加 初始化SDK
            if (ConfigurationManager.AppSettings["debug"] == "1")
            {
                try
                {
                    string lyuser  = ConfigurationManager.AppSettings["LYUser"];
                    string lypwd   = ConfigurationManager.AppSettings["LYPWD"];
                    string lyip    = ConfigurationManager.AppSettings["LYIP"];
                    string lyport  = ConfigurationManager.AppSettings["LYPort"];
                    string b20user = ConfigurationManager.AppSettings["B20User"];
                    string b20pwd  = ConfigurationManager.AppSettings["B20PWD"];
                    string b20ip   = ConfigurationManager.AppSettings["B20IP"];
                    string b20port = ConfigurationManager.AppSettings["B20Port"];

                    //DllInvoke dll = new DllInvoke(@"NVideo.dll");

                    VideoToWall._initnv(lyuser, lypwd, lyip, Convert.ToInt32(lyport));
                    VideoToWall._initb20(b20user, b20pwd, b20ip, Convert.ToInt32(b20port));

                    for (int i = 0; i < CMDOperator._b20controldata.Length; i++)
                    {
                        CMDOperator._b20controldata[i].ptr  = Marshal.AllocHGlobal(128);
                        CMDOperator._b20controldata[i].DB33 = "";
                    }

                    for (int i = 0; i < CMDOperator._b20controldataSPLD.Length; i++)
                    {
                        CMDOperator._b20controldataSPLD[i].ptr  = Marshal.AllocHGlobal(128);
                        CMDOperator._b20controldataSPLD[i].DB33 = "";
                    }


                    CMDOperator._b20controldataZoomUp.ptr  = Marshal.AllocHGlobal(128);
                    CMDOperator._b20controldataZoomUp.DB33 = "";



                    QueryLayer._currentVideo.ptr  = Marshal.AllocHGlobal(128);
                    QueryLayer._currentVideo.DB33 = "";
                }
                catch (Exception)
                {
                }
            }

            //for (int i = 0; i < 2; i++)
            //{
            //    Label lb = new Label();
            //    lb.Name = "lb" + i.ToString();
            //    lb.ContentTemplate = LayoutRoot.Resources["ButtonTemplateSpecial"] as DataTemplate;
            //    lb.Content = JObject.Parse("{Title:\"院桥" + i.ToString() + "\"}");
            //    lb.Margin = new Thickness(i * 100, 0, 0, 0);
            //    lb.VerticalAlignment = VerticalAlignment.Bottom;
            //    LayoutRoot.Children.Add(lb);
            //}
        }