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; }
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(); }