public static Marker ToMapMarker(string description, LatLongGPS coords, bool showPopup) => new Marker { Description = description, X = coords.Longitude, Y = coords.Latitude, ShowPopup = showPopup };
/// <summary> /// Simulate Latitude and Longitude to return a position /// </summary> /// <param name="start"></param> /// <returns></returns> public static LatLongGPS SimulatePosition(LatLongGPS start) { int point = Convert.ToInt32(start.Latitude + start.Longitude); Random random = new Random(point); double distance = 0.01 + random.NextDouble() * 0.02; double angle = random.NextDouble() * Math.PI * 2; double latitude = distance * Math.Cos(angle); double longitude = distance * Math.Sin(angle); return(new LatLongGPS { Latitude = start.Latitude + latitude, Longitude = start.Longitude + longitude }); }
/// <summary> /// Locate the position by interpolate /// </summary> /// <param name="start"></param> /// <param name="end"></param> /// <param name="proportion"></param> /// <returns></returns> public static LatLongGPS Interpolate(LatLongGPS start, LatLongGPS end, double proportion) { return(new LatLongGPS(start.Latitude + (end.Latitude - start.Latitude) * proportion, start.Longitude + (end.Longitude - start.Longitude) * proportion)); }