Beispiel #1
0
        public static Position findClosestStation(double departlong, double lattitude)
        {
            WebRequestVelibApi test  = new WebRequestVelibApi();
            List <VelibModel>  datas = test.Get();
            // for example, using random Paris coordinate
            var         sCoord  = new GeoCoordinate(lattitude, departlong);
            int         i       = 0;
            GoogleModel Min     = null;
            Position    Arrival = null;

            foreach (VelibModel data in datas)
            {
                if (data.status.Equals("OPEN") && data.available_bikes > 0)
                {
                    var    eCoord   = new GeoCoordinate(data.position.lat, data.position.lng);
                    double distance = sCoord.GetDistanceTo(eCoord);

                    if (i < 10 && distance <= 2000)
                    {
                        WebRequestGoogleApi google = new WebRequestGoogleApi();
                        GoogleModel         result = google.Get(sCoord, eCoord);

                        //Cherche la distance minimum
                        if (i == 0)
                        {
                            Min     = result;
                            Arrival = new Position(eCoord.Latitude, eCoord.Longitude);
                        }
                        if ((Min != null) && (result.distance < Min.distance))
                        {
                            Min     = result;
                            Arrival = new Position(eCoord.Latitude, eCoord.Longitude);
                        }
                        i++;
                    }
                }
            }
            return(Arrival);
        }
Beispiel #2
0
        public static string[] roadToDestination(Position depart, Position arrive)
        {
            WebRequestGoogleApi directions = new WebRequestGoogleApi();

            return(directions.GetTrajectoryBike(depart, arrive));
        }