Ejemplo n.º 1
0
 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);
 }
Ejemplo n.º 2
0
        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);
                });
        }