コード例 #1
0
ファイル: ConvertUtils.cs プロジェクト: ZegaTea/boat
        public List<TauVItriDTO> convertTauVitri(DataTable dt)
        {
            List<TauVItriDTO> lst = new List<TauVItriDTO>();
            //lst = dt.Rows.OfType<TauVItriDTO>().ToList();
            foreach (DataRow dr in dt.Rows)
            {
                TauVItriDTO tau = new TauVItriDTO();
                tau.mahanhtrinh = dr.Field<int>("mahanhtrinh");
                tau.matauthuyen = dr.Field<string>("matauthuyen");
                tau.tentau = dr.Field<string>("tentau");
                tau.MMSI = dr.Field<string>("MMSI");
                tau.vido = dr.Field<double>("vido");
                tau.kinhdo = dr.Field<double>("kinhdo");
                tau.thoigian = dr.Field<long>("thoigian");
                lst.Add(tau);
            }

            return lst;
        }
コード例 #2
0
ファイル: frmMain.cs プロジェクト: ZegaTea/boat
        private void initMap()
        {
            GMapOverlay mapOverLay = new GMapOverlay("map1");

            gmap.Overlays.Add(mapOverLay);

            List <TauVItriDTO> lst    = con.convertTauVitri(tauBus.danhSachTau().Tables[0]);
            List <BaoVitriDTO> lstBao = con.convertBaoVitri(baoBus.getListNewestBao().Tables[0]);

            lstTauDanger = new List <string>();

            //GMapMarker mark = new GMarkerGoogle(new PointLatLng(11.999697, 113.148193), GMarkerGoogleType.blue_pushpin);
            GMapMarker mark;
            GMapMarker mark2;

            Global.GlobalVariables.mapHanhTrinhCu = new Dictionary <string, int>();
            Global.GlobalVariables.mapLatLng      = new Dictionary <int, LatLng>();


            int reload = 1;

            // Tàu
            for (int i = 0; i < lst.Count; i++)
            {
                int danger = 0;

                TauVItriDTO tau = lst.ElementAt(i);

                if (i == 0)
                {
                    // Bão
                    GlobalVariables.mapHanhtrinhBaoCu = new System.Collections.Concurrent.ConcurrentDictionary <string, LatLng>();
                }

                foreach (BaoVitriDTO bao in lstBao)
                {
                    if (i == 0)
                    {
                        mark2             = new GMarkerGoogle(new PointLatLng(bao.vido, bao.kinhdo), Properties.Resources.icons8_Hunt_16);
                        mark2.ToolTipText = bao.tenbao
                                            + " \nvĩ độ : " + bao.vido
                                            + " \nkinh độ : " + bao.kinhdo
                                            + " \n Lần gửi tín hiệu cuối: " + DateUtils.getDateTime(bao.thoigian);
                        mark2.ToolTipMode = MarkerTooltipMode.OnMouseOver;
                        mapOverLay.Markers.Add(mark2);

                        CreateCircle(bao, 1143.899431 * 50);

                        var latlng = new LatLng(bao.vido, bao.kinhdo);
                        GlobalVariables.mapHanhtrinhBaoCu.AddOrUpdate(bao.ma, latlng, (key, oldValue) => latlng);
                    }

                    if (danger == 0)
                    {
                        var sCoord = new GeoCoordinate(tau.vido, tau.kinhdo);
                        var eCoord = new GeoCoordinate(bao.vido, bao.kinhdo);
                        var x      = sCoord.GetDistanceTo(eCoord);
                        if (x <= Constant.DANGER_RANGE)
                        {
                            danger = 1;
                            lstTauDanger.Add("'" + tau.matauthuyen + "'");
                        }
                    }
                }

                if (danger == 0)
                {
                    mark = new GMarkerGoogle(new PointLatLng(tau.vido, tau.kinhdo), GMarkerGoogleType.green_small);
                }
                else
                {
                    mark = new GMarkerGoogle(new PointLatLng(tau.vido, tau.kinhdo), GMarkerGoogleType.red);
                    //rtbDanger.AppendText("\nCảnh báo lúc: " + DateTime.Now.ToString("dd-MM-yyyy  HH:mm:ss")
                    //    + "\n+Tàu " + tau.matauthuyen + " đang trong vùng nguy hiểm \n-------------------");
                    //rtbDanger.Focus();
                    rtbDanger.Text += "\nCảnh báo lúc: " + DateTime.Now.ToString("dd-MM-yyyy  HH:mm:ss")
                                      + "\n+Tàu " + tau.matauthuyen + " đang trong vùng nguy hiểm \n-------------------";
                }

                mark.ToolTipText = tau.tentau
                                   + " \nvĩ độ : " + tau.vido
                                   + " \nkinh độ : " + tau.kinhdo
                                   + " \nMMSI : " + tau.MMSI
                                   + " \n Lần gửi tín hiệu cuối: " + DateUtils.getDateTime(tau.thoigian);
                mark.ToolTipMode = MarkerTooltipMode.OnMouseOver;
                mapOverLay.Markers.Add(mark);


                Global.GlobalVariables.mapLatLng.Add(tau.mahanhtrinh, new LatLng(tau.vido, tau.kinhdo));
                Global.GlobalVariables.mapHanhTrinhCu.Add(tau.matauthuyen, tau.mahanhtrinh);
            }
            //marker.Markers.Add(mark);

            loadTauDiChuyen();
        }