private void ZoomAndCenterTrack(Core.NavigationElements.ITrack track) { if (_mapRoutes[track.UniqueID].Count > 0) { this.ZoomAndCenterRoute(_mapRoutes[track.UniqueID][0]); } }
/// <summary> /// Draws track on map. /// </summary> /// <param name="track"></param> /// <param name="zoomAndCenter">Whether to zoom and center on the current track or not.</param> public void DrawTrack(Core.NavigationElements.ITrack track, bool zoomAndCenter) { DrawTrack(track); if (zoomAndCenter) { ZoomAndCenterTrack(track); } }
public List <GMapRoute> GetRoute(Core.NavigationElements.ITrack track) { if (_mapRoutes.ContainsKey(track.UniqueID)) { return(_mapRoutes[track.UniqueID]); } return(new List <GMapRoute>(0)); }
public void RemoveTrack(Core.NavigationElements.ITrack track) { if (_mapRoutes.ContainsKey(track.UniqueID)) { foreach (GMap.NET.WindowsForms.GMapRoute route in _mapRoutes[track.UniqueID]) { _trackOverlay.Routes.Remove(route); } } }
/// <summary> /// Refreshes a secific track. /// </summary> /// <param name="track"></param> public void RefreshTrack(Core.NavigationElements.ITrack track) { // TODO: Need to nice refrsh tracks. if (_mapRoutes.ContainsKey(track.UniqueID)) { foreach (GMapRoute route in _mapRoutes[track.UniqueID]) { _trackOverlay.Routes.Remove(route); } foreach (Core.NavigationElements.ITrackSegment trackSegment in track.TrackSegments) { GMapRoute route = new GMapRoute(ConvertTrackSegment(trackSegment), "segment"); _trackOverlay.Routes.Add(route); } base.Refresh(); } }
private void DrawTrack(Core.NavigationElements.ITrack track) { if (_mapRoutes.ContainsKey(track.UniqueID) == false) { _mapRoutes.Add(track.UniqueID, null); } List <GMap.NET.WindowsForms.GMapRoute> routes = new List <GMapRoute>(); foreach (ITrackSegment segment in track.TrackSegments) { List <GMap.NET.PointLatLng> points = ConvertTrackSegment(segment); var route = new GMap.NET.WindowsForms.GMapRoute(points, "segment"); routes.Add(route); _trackOverlay.Routes.Add(route); } _mapRoutes[track.UniqueID] = routes; _trackOverlay.IsVisibile = true; }