Example #1
0
 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);
     }
 }
Example #2
0
        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);
                        }
                    });
        }
Example #3
0
 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);
     }
 }
Example #4
0
        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);
                }
            });
        }