private BingRouteService.Waypoint ConvertGeocodeResultToWaypoint(BingGeocodeService.GeocodeResult result) { BingRouteService.Waypoint waypoint = new BingRouteService.Waypoint(); waypoint.Description = result.DisplayName; waypoint.Location = new BingRouteService.Location() { Latitude = result.Locations[0].Latitude, Longitude = result.Locations[0].Longitude }; return(waypoint); }
private BingGeocodeService.GeocodeResult GeocodeAddress(string address) { BingGeocodeService.GeocodeResult result = null; using (BingGeocodeService.GeocodeServiceClient client = new BingGeocodeService.GeocodeServiceClient("CustomBinding_IGeocodeService")) { BingGeocodeService.GeocodeRequest request = new BingGeocodeService.GeocodeRequest(); request.Credentials = new Credentials() { ApplicationId = (App.Current.Resources["MyCredentials"] as ApplicationIdCredentialsProvider).ApplicationId }; request.Query = address; result = client.Geocode(request).Results[0]; } return(result); }
private void CalculateRoute(BingGeocodeService.GeocodeResult from, BingGeocodeService.GeocodeResult to) { using (BingRouteService.RouteServiceClient client = new BingRouteService.RouteServiceClient("CustomBinding_IRouteService")) { BingRouteService.RouteRequest request = new BingRouteService.RouteRequest(); request.Credentials = new Credentials() { ApplicationId = (App.Current.Resources["MyCredentials"] as ApplicationIdCredentialsProvider).ApplicationId }; request.Waypoints = new BingRouteService.Waypoint[2]; request.Waypoints[0] = ConvertGeocodeResultToWaypoint(from); request.Waypoints[1] = ConvertGeocodeResultToWaypoint(to); request.Options = new BingRouteService.RouteOptions(); request.Options.RoutePathType = BingRouteService.RoutePathType.Points; RouteResult = client.CalculateRoute(request).Result; } MakeWaypoints(); }