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)); } }
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)); } }