public void GetRoute(string FromOutput, string ToOutput) { // Geocode locations in parallel. GeocodeResult[] results = new GeocodeResult[2]; // From location. RoutingState state0 = new RoutingState(results, 0); GeocodeAddress(FromOutput, state0); // To location. RoutingState state1 = new RoutingState(results, 1); GeocodeAddress(ToOutput, state1); }
private void GeocodeAddress(string address, RoutingState state) { GeocodeRequest request = new GeocodeRequest(); request.Query = address; // Don't raise exceptions. request.ExecutionOptions = new GeocodeService.ExecutionOptions(); request.ExecutionOptions.SuppressFaults = true; // Only accept results with high confidence. request.Options = new GeocodeService.GeocodeOptions(); // Using ObservableCollection since this is the default for Silverlight proxy generation. request.Options.Filters = new ObservableCollection<FilterBase>(); ConfidenceFilter filter = new ConfidenceFilter(); filter.MinimumConfidence = GeocodeService.Confidence.High; request.Options.Filters.Add(filter); if (null != state.output) { state.output.Text = "<geocoding in progress>"; state.output.Foreground = new SolidColorBrush(Colors.Black); } //it's in the resources already ((ClientTokenCredentialsProvider)App.Current.Resources["MyCredentials"]).GetCredentials( (Credentials credentials) => { // Pass in credentials for web services call. //Replace with your own Credentials. request.Credentials = credentials; // Make asynchronous call to fetch the data ... pass state object. GeocodeClient.GeocodeAsync(request, state); }); }