Exemple #1
0
        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]);
            }
        }
Exemple #2
0
        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();
        }
Exemple #3
0
        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();
        }