/// <summary>
        /// Double-click to add a marker to the map to build a route
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private async void MainMap_OnMouseDoubleClick(object sender, MouseButtonEventArgs e)
        {
            // Disables the default mouse double-click action.
            e.Handled = true;

            //Get the mouse click coordinates
            Point mousePosition = e.GetPosition(MainMap);
            //Convert the mouse coordinates to a locatoin on the map
            Location pinLocation = MainMap.ViewportPointToLocation(mousePosition);

            // The pushpin to add to the map.
            DraggablePin pin = new DraggablePin(MainMap)
            {
                Background = new SolidColorBrush(Color.FromRgb(58, 74, 216)),
                Foreground = new SolidColorBrush(Colors.White),
                Location   = pinLocation,
                Content    = OsrmWayPointsPushpins.Count + 1
            };

            if (_wayPointsEditModeEnabled && WayPointsForOsrmDataGrid.SelectedIndex >= 0)
            {
                OsrmWayPointsPushpins.Insert(WayPointsForOsrmDataGrid.SelectedIndex + 1, pin);
                SetPushinsEnumaration(OsrmWayPointsPushpins);
                WayPointsForOsrmDataGrid.SelectRowByIndex(WayPointsForOsrmDataGrid.SelectedIndex + 1);
            }
            else
            {
                OsrmWayPointsPushpins.Add(pin);
            }

            pin.MouseDown += Pin_MouseDown;

            MainMap.Children.Add(pin);

            if (AutoRouteDrowCheckBox.IsChecked != null && AutoRouteDrowCheckBox.IsChecked == true)
            {
                await GetLoadOsrmTrack();
            }

            CheckTabItems();
        }