public void LoadTrackPoint(IList <TrackPoint> ps) { foreach (var p in ps) { var m = new GMap.NET.WindowsForms.Markers.GMapMarkerCircle(new PointLatLng(p.Latitude, p.Longitude)); m.Radius = 3; m_trackOverlay.Markers.Add(m); } }
private void LoadTrackData(Track track, bool clearFirst = false) { Feng.Async.AsyncHelper.Start(() => { IList<TrackPoint> trackPoints = TrackPointDao.GetTrackPoints(track); if (trackPoints.Count == 0) { if (track.StartTime.HasValue) { if (!track.EndTime.HasValue) track.EndTime = DateTime.MaxValue; trackPoints = TrackPointDao.GetTrackPoints(track.VehicleName, track.StartTime.Value, track.EndTime.Value); } } return trackPoints; }, (result) => { var trackPoints = result as IList<TrackPoint>; List<PointLatLng> points = new List<GMap.NET.PointLatLng>(); foreach (var p in trackPoints) { points.Add(new PointLatLng(p.Latitude, p.Longitude)); } if (clearFirst) { ClearTrack(); } DarwTrack(points); if (trackPoints.Count > 0) { //DrawCircle(); var p = trackPoints[trackPoints.Count - 1]; var p2 = new PointLatLng(p.Latitude, p.Longitude); var m = new GMap.NET.WindowsForms.Markers.GMapMarkerCircle(p2); m_trackOverlay.Markers.Add(m); m_MainMap.Position = p2; } if (tsm显示路线点地址.Checked) { // Show Start, End for (int i = 0; i < trackPoints.Count; i += trackPoints.Count - 1) { var p = trackPoints[i]; var m = new GMap.NET.WindowsForms.Markers.GMapMarkerGoogleRed(new PointLatLng(p.Latitude, p.Longitude)); m.ToolTipText = (i == 0 ? "Start" : "End") + ", " + p.GpsTime.ToLongTimeString(); m_trackOverlay.Markers.Add(m); } try { DrawTrackPointAddr(trackPoints); } catch (Exception) { } } if (tsm显示路线点.Checked) { IList<WayPoint> wayPoint = WayPointDao.GetWaypoints(track); foreach (var p in wayPoint) { if (!string.IsNullOrEmpty(p.Action)) { var m = new GMap.NET.WindowsForms.Markers.GMapMarkerGoogleRed(new PointLatLng(p.Latitude, p.Longitude)); m.ToolTipText = p.Action + "," + p.GpsTime.ToLongTimeString(); m_trackOverlay.Markers.Add(m); } } } if (!track.EndTime.HasValue) { if (m_timer == null) { m_timer = new System.Timers.Timer(30 * 1000); m_timer.Elapsed += new System.Timers.ElapsedEventHandler(m_timer_Elapsed); } m_timer.AutoReset = true; m_timer.Enabled = true; } if (track.Route != null) { LoadRoute(track.Route.Name); } }); }
public void LoadTrackPoint(IList<TrackPoint> ps) { foreach (var p in ps) { var m = new GMap.NET.WindowsForms.Markers.GMapMarkerCircle(new PointLatLng(p.Latitude, p.Longitude)); m.Radius = 3; m_trackOverlay.Markers.Add(m); } }
private void LoadTrackData(Track track, bool clearFirst = false) { Feng.Async.AsyncHelper.Start(() => { IList <TrackPoint> trackPoints = TrackPointDao.GetTrackPoints(track); if (trackPoints.Count == 0) { if (track.StartTime.HasValue) { if (!track.EndTime.HasValue) { track.EndTime = DateTime.MaxValue; } trackPoints = TrackPointDao.GetTrackPoints(track.VehicleName, track.StartTime.Value, track.EndTime.Value); } } return(trackPoints); }, (result) => { var trackPoints = result as IList <TrackPoint>; List <PointLatLng> points = new List <GMap.NET.PointLatLng>(); foreach (var p in trackPoints) { points.Add(new PointLatLng(p.Latitude, p.Longitude)); } if (clearFirst) { ClearTrack(); } DarwTrack(points); if (trackPoints.Count > 0) { //DrawCircle(); var p = trackPoints[trackPoints.Count - 1]; var p2 = new PointLatLng(p.Latitude, p.Longitude); var m = new GMap.NET.WindowsForms.Markers.GMapMarkerCircle(p2); m_trackOverlay.Markers.Add(m); m_MainMap.Position = p2; } if (tsm显示路线点地址.Checked) { // Show Start, End for (int i = 0; i < trackPoints.Count; i += trackPoints.Count - 1) { var p = trackPoints[i]; var m = new GMap.NET.WindowsForms.Markers.GMapMarkerGoogleRed(new PointLatLng(p.Latitude, p.Longitude)); m.ToolTipText = (i == 0 ? "Start" : "End") + ", " + p.GpsTime.ToLongTimeString(); m_trackOverlay.Markers.Add(m); } try { DrawTrackPointAddr(trackPoints); } catch (Exception) { } } if (tsm显示路线点.Checked) { IList <WayPoint> wayPoint = WayPointDao.GetWaypoints(track); foreach (var p in wayPoint) { if (!string.IsNullOrEmpty(p.Action)) { var m = new GMap.NET.WindowsForms.Markers.GMapMarkerGoogleRed(new PointLatLng(p.Latitude, p.Longitude)); m.ToolTipText = p.Action + "," + p.GpsTime.ToLongTimeString(); m_trackOverlay.Markers.Add(m); } } } if (!track.EndTime.HasValue) { if (m_timer == null) { m_timer = new System.Timers.Timer(30 * 1000); m_timer.Elapsed += new System.Timers.ElapsedEventHandler(m_timer_Elapsed); } m_timer.AutoReset = true; m_timer.Enabled = true; } if (track.Route != null) { LoadRoute(track.Route.Name); } }); }