//public async Task<double[]> GetCoordinatesAsync(string query)
        //{
        //   return await Task.FromResult(GetCoordinates(query));
        //}

        //public double[] GetCoordinates(string query)
        //{
        //    Console.WriteLine("Sessionkey: " + sessionKey);
        //    string url = string.Format("http://dev.virtualearth.net/REST/v1/Locations?q={0}&key={1}", query, sessionKey);
        //    Console.WriteLine("Url: " + url);
        //    Uri geocodeRequest = new Uri(url);

        //    Response x = GetResponseSync(geocodeRequest);

        //    //Console.WriteLine(x.ResourceSets[0].Resources.Length + " result(s) found.");
        //    for (int r = 0; r < x.ResourceSets[0].Resources.Length; r++)
        //    {
        //        BingMapsRESTToolkit.Location location = (BingMapsRESTToolkit.Location)x.ResourceSets[0].Resources[r];
        //        //Console.WriteLine("Result " + r + " = " + location.Name);
        //        //Console.WriteLine("Result " + r + " = " + location.Point.Coordinates[0]);
        //        //Console.WriteLine("Result " + r + " = " + location.Point.Coordinates[1]);
        //    }

        //    if (x.ResourceSets[0].Resources.Length > 0)
        //    {
        //        return ((BingMapsRESTToolkit.Location)x.ResourceSets[0].Resources[0]).Point.Coordinates;
        //    }
        //    else return null;
        //}

        public async Task <double> CalculateDistance(double[] p1, double[] p2)
        {
            DistanceMatrixRequest dmr = new DistanceMatrixRequest()
            {
                Origins = new List <SimpleWaypoint>()
                {
                    new SimpleWaypoint {
                        Coordinate = new Coordinate(p1[0], p1[1])
                    }
                },
                Destinations = new List <SimpleWaypoint>()
                {
                    new SimpleWaypoint {
                        Coordinate = new Coordinate(p2[0], p2[1])
                    }
                },
                DistanceUnits = DistanceUnitType.Kilometers
            };

            DistanceMatrix d = await dmr.GetEuclideanDistanceMatrix();

            return(d.GetDistance(0, 0));
        }
Example #2
0
        public async void CalculateDistance(Microsoft.Maps.MapControl.WPF.Location a, Microsoft.Maps.MapControl.WPF.Location b)
        {
            SimpleWaypoint place1 = new SimpleWaypoint(a.Latitude, a.Longitude);
            SimpleWaypoint place2 = new SimpleWaypoint(b.Latitude, b.Longitude);


            var request = new DistanceMatrixRequest()
            {
                Origins = new List <SimpleWaypoint>()
                {
                    place1
                },
                Destinations = new List <SimpleWaypoint>()
                {
                    place2
                },
                DistanceUnits = DistanceUnitType.Miles,
                BingMapsKey   = "Akg1Bxeo9S0_umkUKYCmip6n0g37vn12fuoNW8ZKJfbGbBYaW8ngs1HCEzcVRs83"
            };

            var testDistc = await request.GetEuclideanDistanceMatrix();

            distance = testDistc.GetDistance(0, 0);
        }