protected async Task GetRouteWithMode(string addressA, string addressB, string mode)
        {
            int[] res = await MappingService.GetRouteAsyncWithMode(addressA, addressB, mode);

            StringBuilder sb = new StringBuilder();

            if (res != null && res.Length == 3)
            {
                Console.WriteLine(mode);
                Console.WriteLine("Duration without traffic: " + res[0] + " -> " + DurationFromSeconds(res[0]));

                if (mode != "Driving")
                {
                    sb.Append("Travel time: +/- " + DurationFromSeconds(res[0]));
                }
                else
                {
                    sb.Append("Travel time (without traffic): +/- " + DurationFromSeconds(res[0]));
                }

                if (res[2] != 0)
                {
                    Console.WriteLine("Distance: " + res[2] + "km");
                    sb.Append("\nTravel Distance: +/- " + res[2] + " km");
                }
                Console.WriteLine();
            }

            string resultText = sb.ToString();

            switch (mode)
            {
            case "Driving":
                drivingRouteText = resultText;
                break;

            case "Transit":
                transitRouteText = resultText;
                break;

            case "Walking":
            default:
                walkingRouteText = resultText;
                break;
            }
        }