private void ImportResultBtn_Clicked(object sender, RoutedEventArgs e)
        {
            //Load a request from a JSON file.
            var ofd = new OpenFileDialog();

            ofd.Filter           = "JSON files (*.json)|*.json|All files (*.*)|*.*";
            ofd.RestoreDirectory = true;

            var dl = ofd.ShowDialog();

            if (dl.HasValue && dl.Value)
            {
                using (var fs = ofd.OpenFile())
                {
                    try
                    {
                        result = resultSerializer.ReadObject(fs) as OptimizeItinerary;
                        ShowResultOnMap();
                    }
                    catch
                    {
                        MessageBox.Show("Error importing result.");
                    }
                }
            }
        }
        private async void CalculateBtn_Clicked(object sender, RoutedEventArgs e)
        {
            result = null;

            //Show loading screen and clear output.
            LoadingScreen.Visibility        = Visibility.Visible;
            OutputTbx.Text                  = string.Empty;
            CalculateRoutePathBtn.IsEnabled = false;

            //Clear data on map.
            lineLayer.Children.Clear();
            pinLayer.Children.Clear();

            try
            {
                //Ensure request has credentials set.
                request.BingMapsKey = BingMapsKey;

                //Execute the request.
                var response = await request.Execute();

                //Ensure the response contains results.
                if (Response.HasResource(response))
                {
                    //Get the result.
                    result = Response.GetFirstResource(response) as OptimizeItinerary;

                    ShowResultOnMap();
                }
                else
                {
                    MessageBox.Show("Unable to calculate optimized route itinerary.");
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }

            //Hide loading screen.
            LoadingScreen.Visibility = Visibility.Collapsed;
        }