private void button13_Click(object sender, EventArgs e) { PointLatLng start = new PointLatLng(46.289106, -119.292999); // Will pass the selected appointment lat/lng here start = new PointLatLng(46.289106, -119.292999); Bitmap icon = new Bitmap("C:\\Users\\Jason\\Desktop\\323\\Milestone2\\CptS-323-main (1)\\CptS-323-main\\Home_Visits_Vaccination\\Home_Visits_Vaccination\\Car_Icon4.png"); for (int i = 0; i < 5; i++) { GMapMarkerVan tempVan = new GMapMarkerVan(start, icon); tempVan.did = i.ToString(); vanMarkers.Add(tempVan); } int vanFinished = 0; int baseVal = -1; for (int i = 0; i < 5; i++) { animate(i, vanMarkers[i]); } }
public static async Task finish(Appointment app, GMapMarkerVan curVan) { var dictionary = new Dictionary <string, string> { { "key", app.Key }, { "did", curVan.did }, { "companyId", compID }, { "lat", curVan.Position.Lat.ToString() }, { "lng", curVan.Position.Lng.ToString() } }; HttpClient httpclient = new HttpClient(); var content = new FormUrlEncodedContent(dictionary); var response = await httpclient.PostAsync("https://us-central1-cpts323battle.cloudfunctions.net/finishAppointment", content); var responseString = await response.Content.ReadAsStringAsync(); var data = Newtonsoft.Json.JsonConvert.DeserializeObject <Response>(responseString); Console.WriteLine(data.message); var stop = Console.ReadLine(); }
public void animate(int index, GMapMarkerVan vanMark) { GMapProviders.GoogleMap.ApiKey = "AIzaSyBsS4_zQy-svXOtLrS32XPphEsSX-EMY8M"; PointLatLng start, end; start = new PointLatLng(46.280452, -119.279381); end = new PointLatLng(myappointments[index].destination.lat, myappointments[index].destination.lng); var temp = GMapProviders.GoogleMap.GetDirections(out routeDirection, start, end, false, false, false, false, false); // API call to get the directions GMapRoute mapRoute2 = new GMapRoute(routeDirection.Route, "This Trip"); // Creates the route GMapOverlay overlayTest = new GMapOverlay("Test Route"); overlayTest.Routes.Add(mapRoute2); gMapControl1.Overlays.Add(overlayTest); GMap.NET.WindowsForms.Markers.GMarkerGoogle startP = new GMap.NET.WindowsForms.Markers.GMarkerGoogle(start, GMarkerGoogleType.green_dot); // Adds the markers to start and end points. GMap.NET.WindowsForms.Markers.GMarkerGoogle endP = new GMap.NET.WindowsForms.Markers.GMarkerGoogle(end, GMarkerGoogleType.red_dot); Bitmap icon = new Bitmap("C:\\Users\\Jason\\Desktop\\323\\Milestone2\\CptS-323-main (1)\\CptS-323-main\\Home_Visits_Vaccination\\Home_Visits_Vaccination\\Car_Icon4.png"); //var carMark = new GMap.NET.WindowsForms.Markers.GMarkerGoogle(mapRoute2.Points[11], new Bitmap("C:\\Users\\Jason\\Desktop\\323\\Milestone2\\CptS-323-main (1)\\CptS-323-main\\Home_Visits_Vaccination\\Home_Visits_Vaccination\\Car_Icon2.png")); // Sets the car marker variable and assigns it the bitmap (Icon) //var carMark = new GMapMarkerVan(mapRoute2.Points[mapRoute2.Points.Count - 1], icon); //vanMarkers.Add(carMark); vanMarkers.Add(vanMark); //vanMarkers[j].Position = startP.Position; vanMark.Position = start; objects.Markers.Add(startP); // Adds to markers list objects.Markers.Add(endP); // adds to markers list //objects.Markers.Add(vanMarkers[j]); // Add the car marker to overlay. objects.Markers.Add(vanMark); gMapControl1.Overlays.Add(objects); // Adds the markers to actual overlay. gMapControl1.ZoomAndCenterRoute(mapRoute2); // zooms to the route. Thread t = new Thread(() => { var timedelay = 0.016; var acumsecond = 0.0; for (int i = 1; i < mapRoute2.Points.Count; i++) { var degree = Bearing(mapRoute2.Points[i - 1], mapRoute2.Points[i]); var deltaX = Distance(mapRoute2.Points[i - 1], mapRoute2.Points[i]); degree = (degree * 180 / Math.PI + 360) % 360; vanMark.Rotate((float)degree); var distance = 0.00972222222; //35mph to miles per second var deltaSeconds = deltaX / distance; deltaSeconds = deltaSeconds / 16; status0(myappointments[index]); for (double s = 0; s < deltaSeconds; s = s + timedelay) { var r = s / deltaSeconds; var dlat = r * (mapRoute2.Points[i].Lat) + (1 - r) * (mapRoute2.Points[i - 1].Lat); var dlng = r * (mapRoute2.Points[i].Lng) + (1 - r) * (mapRoute2.Points[i - 1].Lng); var M_point = new PointLatLng(dlat, dlng); Thread.Sleep((int)(deltaSeconds * timedelay * 1000)); vanMark.Position = M_point; if (acumsecond > 2) { updatePosition(myappointments[index], vanMark); acumsecond = 0; } acumsecond = acumsecond + timedelay; } } status1(myappointments[index]); Thread.Sleep((int)(56 * 1000)); // change to 1000 status2(myappointments[index]); finish(myappointments[index], vanMark); vanMark.inUse = false; //firebase to upfate the status 1 (key), //firebase to upfate the status 2 , //call firebase finishAppointment //} //=> } ); t.Start(); }