public static double ValueTypeIn(TypeOfConventer tOConvert, MapPreparedData GeoData, Plugin.Geolocator.Abstractions.Position newValue) { switch (tOConvert) { case TypeOfConventer.Timer: return(0); case TypeOfConventer.Distance: return(RoadDistance(GeoData.RoadDistance)); case TypeOfConventer.Speed: return(Speed(newValue.Speed)); case TypeOfConventer.MediumSpeed: return(Speed(GeoData.MediumSpeed)); case TypeOfConventer.Tempo: return(Tempo(newValue.Speed)); case TypeOfConventer.MediumTempo: return(Tempo(GeoData.MediumSpeed)); case TypeOfConventer.Altitude: return(Altidude(newValue.Altitude)); default: return(-1); } }
//using at end of trening public MapResultPage(List <Plugin.Geolocator.Abstractions.Position> newTrening, MapPreparedData newTreningData, object mapPolyline) { InitializeComponent(); resultRoad = new List <Plugin.Geolocator.Abstractions.Position>(newTrening); resultData = new MapPreparedData(newTreningData); workoutManager = DBConnection.MainConnection.WorkoutItem; mapManager = DBConnection.MainConnection.MapPoint; sendMapPointList = new List <MapPointItem>(); //ToLocalTime switch (Device.RuntimePlatform) { case Device.iOS: break; case Device.Android: this.Title = "Add"; break; case Device.UWP: break; } ResultMap.DrawRoadAtStart(mapPolyline); }
//using at history public MapResultPage(MapPreparedData newTreningData) { InitializeComponent(); resultData = new MapPreparedData(newTreningData); ToolbarItems.RemoveAt(1); ToolbarItems.RemoveAt(0); ResultMap.IsVisible = false; }
void UpdateWorkFieldAndObj(Plugin.Geolocator.Abstractions.Position oldValue, Plugin.Geolocator.Abstractions.Position newValue) { var conventer = new WorkoutConventer(); var surveyTime = (DateTime.Now.Ticks - startWorkout.Ticks + lastInterval.Ticks) / 10000000;//measurement approximate accuracy//seconds WorkoutData = conventer.ValueObject(new MapPreparedData(WorkoutData), oldValue, newValue, NumberOfPoint, surveyTime); NewWorkoutPoint = newValue; RefreshWorkFieldAndObj(newValue); }
public MapPreparedData(MapPreparedData newOdject) { StartTime = new DateTime(newOdject.StartTime.Ticks); RoadDistance = new Distance(newOdject.RoadDistance.Meters); Time = new DateTime(newOdject.Time.Ticks); MaxSpeed = newOdject.MaxSpeed; MediumSpeed = newOdject.MediumSpeed; MaxAltitude = newOdject.MaxAltitude; MinAltitude = newOdject.MinAltitude; }
public MapResultPage(List <Plugin.Geolocator.Abstractions.Position> newTrening, MapPreparedData newTreningData) { InitializeComponent(); resultRoad = new List <Plugin.Geolocator.Abstractions.Position>(newTrening); resultData = new MapPreparedData(newTreningData); ToolbarItems.RemoveAt(1); ToolbarItems.RemoveAt(0); ResultMap.DrawRoadAtStart(newTrening); ResultMap.MoveToRegion(MapSpan.FromCenterAndRadius(new Xamarin.Forms.Maps.Position(newTrening[(newTrening.Count / 2)].Latitude, newTrening[(newTrening.Count / 2)].Longitude), new Distance(1000))); }
private void FillFields(MapPreparedData data) { FieldDate.Text = data.StartTime.ToString("dd-MM-yyyy HH:mm:ss"); TimeFild.Text = data.Time.ToString("H:mm:ss"); DistanceFild.Text = WorkoutConventer.ValueTypeAfter(TypeOfConvAfter.Distance, 0, data.RoadDistance).ToString("0.00").Replace(",", "."); MaxSpeedFild.Text = WorkoutConventer.ValueTypeAfter(TypeOfConvAfter.Speed, data.MaxSpeed, data.RoadDistance).ToString("0.00").Replace(",", "."); AvgSpeedFild.Text = WorkoutConventer.ValueTypeAfter(TypeOfConvAfter.Speed, data.MediumSpeed, data.RoadDistance).ToString("0.00").Replace(",", "."); MaxPaceFild.Text = WorkoutConventer.ValueTypeAfter(TypeOfConvAfter.Tempo, data.MaxSpeed, data.RoadDistance).ToString("0.00").Replace(",", "."); AvgPaceFild.Text = WorkoutConventer.ValueTypeAfter(TypeOfConvAfter.Tempo, data.MediumSpeed, data.RoadDistance).ToString("0.00").Replace(",", "."); MaxAltitudeFild.Text = WorkoutConventer.ValueTypeAfter(TypeOfConvAfter.Altitude, data.MaxAltitude, data.RoadDistance).ToString("0.00").Replace(",", "."); MinAltitudeFild.Text = WorkoutConventer.ValueTypeAfter(TypeOfConvAfter.Altitude, data.MinAltitude, data.RoadDistance).ToString("0.00").Replace(",", "."); }
private async Task <List <MapPreparedData> > ReturnRefreshedItem(bool syncItems) { var dataList = await managerWorkout.GetItemsAsync(syncItems); List <WorkoutItem> sortedList = dataList.OrderBy(o => o.WorkoutDate).ToList(); sortedList.Reverse(); List <MapPreparedData> dataListConverted = new List <MapPreparedData>(); foreach (WorkoutItem item in sortedList) { dataListConverted.Add(MapPreparedData.ConvertToPreparedData(item)); } return(dataListConverted); }
public static MapPreparedData ConvertToPreparedData(WorkoutItem data) { MapPreparedData CovertedObj = new MapPreparedData { WorkoutId = data.Id, StartTime = new DateTime(data.WorkoutDate + time40l.Ticks), RoadDistance = new Distance(data.Distance), Time = new DateTime(data.Time), MaxSpeed = data.MaxSpeed, MediumSpeed = data.MediumSpeed, MaxAltitude = data.MaxAltitude, MinAltitude = data.MinAltitude }; return(CovertedObj); }
void RefreshWorkFieldAndObj(Plugin.Geolocator.Abstractions.Position newValue) { MapPreparedData copyWorkoutData = new MapPreparedData(WorkoutData); for (int i = 0; i < WorkField.Count; i++) { if (WorkValue[i] != TypeOfConventer.Timer) { var newVal = WorkoutConventer.ValueTypeIn(WorkValue[i], copyWorkoutData, newValue).ToString("0.00"); newVal = newVal.Replace(",", "."); var useLabel = WorkField[i]; Device.BeginInvokeOnMainThread(() => { useLabel.Text = newVal; }); } } }
public MapPreparedData ValueObject(MapPreparedData GeoData, Plugin.Geolocator.Abstractions.Position oldValue, Plugin.Geolocator.Abstractions.Position newValue, int numberOfValue, double surveyTime) { if (newValue.Speed > GeoData.MaxSpeed) { GeoData.MaxSpeed = newValue.Speed; } if (newValue.Altitude > GeoData.MaxAltitude) { GeoData.MaxAltitude = newValue.Altitude; } if (GeoData.MinAltitude == 0 || newValue.Altitude < GeoData.MinAltitude) { GeoData.MinAltitude = newValue.Altitude; } if (oldValue != null) { GeoData.RoadDistance = Distance.FromMeters(GeoData.RoadDistance.Meters + CalculateDistance(oldValue, newValue).Meters); switch (Device.RuntimePlatform) { case Device.Android: GeoData.MediumSpeed = GeoData.RoadDistance.Meters / (AppGeolocator.MinimumListTime * (numberOfValue)); /*Use ideal number// ((srTime.Ticks / 10000000.0)- AppGeolocator.MinimumListTime * numberOfValue * 0.05); Delete timer mistake*/ break; case Device.iOS: case Device.UWP: GeoData.MediumSpeed = GeoData.RoadDistance.Meters / surveyTime; break; } } return(GeoData); }