Example #1
0
        public static async Task <Ruta> ApiRequest(string origen, string destino)
        {
            string[,] matrizTiempos = new string[10, 10];
            matrizTiempos           = Webscrapping.EjecutarTiempo();

            string[,] matrizCoordenadas = new string[10, 10];
            matrizCoordenadas           = Webscrapping.EjecutarCoordenadas();

            string coordenadas = Coordenadas.CambiaACoordenadas(origen, destino, matrizCoordenadas);

            if (coordenadas == ":" || coordenadas == "Coordenadas indeterminadas")
            {
                throw new Exception("Las ciudades introducidas no existen, revise los nombres: " + origen + " " + destino);
            }

            string ciudad = Coordenadas.CambiaACiudad(coordenadas, matrizCoordenadas);

            using (HttpClient client = new HttpClient())
            {
                HttpResponseMessage responseMessage = await client.GetAsync("https://api.tomtom.com/routing/1/calculateRoute/" + coordenadas + "/json?maxAlternatives=2&instructionsType=coded&avoid=unpavedRoads&key=QNDSKoghJXsfleTToOkVBTPLwkaYbauA");

                HttpContent httpcontent = responseMessage.Content;
                string      content     = await httpcontent.ReadAsStringAsync();

                JObject jObject = JObject.Parse(content);
                JToken  jRutas  = jObject["routes"];

                Resumen resumen = new Resumen(jRutas.Values("summary"));

                IEnumerable <JToken> rutas      = jRutas.Values("guidance").Values("instructions");
                List <DatosRuta>     listaRutas = new List <DatosRuta>();

                foreach (JToken jRuta in rutas)
                {
                    listaRutas.Add(new DatosRuta(jRuta));
                }

                List <string> coords         = listaRutas[0].coordenadas;
                List <string> ciudades       = new List <string>();
                string        tiempo_origen  = Coordenadas.TiempoCiudad(origen, matrizTiempos);
                string        tiempo_destino = Coordenadas.TiempoCiudad(destino, matrizTiempos);

                for (int i = 0; i < coords.Count; i++)
                {
                    ciudades.Add(Coordenadas.CambiaACiudad(coords[i], matrizCoordenadas));
                }

                return(new Ruta(resumen, listaRutas, ciudades, tiempo_origen, tiempo_destino));
            }
        }
Example #2
0
        public async Task <DNSGPS> ApiRequest()
        {
            string[,] matrizTiempos = new string[10, 10];
            matrizTiempos           = Webscrapping.EjecutarTiempo();

            string[,] matrizCoordenadas = new string[10, 10];
            matrizCoordenadas           = Webscrapping.EjecutarCoordenadas();

            string coordenadas = Coordenadas.CambiaACoordenadas("Almería", "Santander", matrizCoordenadas);
            string ciudad      = Coordenadas.CambiaACiudad("37.769722222222,-3.7888888888889", matrizCoordenadas);

            Console.WriteLine(coordenadas);
            Console.WriteLine(ciudad);

            using (HttpClient client = new HttpClient())
            {
                //HttpResponseMessage responseMessage = await client.GetAsync("https://api.tomtom.com/routing/1/calculateRoute/52.50931%2C13.42936%3A52.50274%2C13.43872/json?instructionsType=coded&avoid=unpavedRoads&key=QNDSKoghJXsfleTToOkVBTPLwkaYbauA");
                HttpResponseMessage responseMessage = await client.GetAsync("https://api.tomtom.com/routing/1/calculateRoute/52.50931%2C13.42936%3A52.50274%2C13.43872/json?maxAlternatives=2&instructionsType=coded&avoid=unpavedRoads&key=QNDSKoghJXsfleTToOkVBTPLwkaYbauA");

                HttpContent httpcontent = responseMessage.Content;
                string      content     = await httpcontent.ReadAsStringAsync();

                JObject jObject = JObject.Parse(content);
                JToken  jRutas  = jObject["routes"];


                Resumen resumen = new Resumen(jRutas.Values("summary"));

                IEnumerable <JToken> rutas      = jRutas.Values("guidance").Values("instructions");
                List <Ruta>          listaRutas = new List <Ruta>();

                foreach (JToken jRuta in rutas)
                {
                    listaRutas.Add(new Ruta(jRuta));
                }

                return(new DNSGPS(resumen, listaRutas));
            }
        }