private void ExportRoute_Click(object sender, RoutedEventArgs e)
        {
            ImportExportRouteText.Clear();
            var    points       = _mapPoints.Select(x => x.Location).ToList();
            string encodedRoute = null;

            var firstOrDefault = points.FirstOrDefault();

            if (firstOrDefault == null)
            {
                return;
            }
            try
            {
                encodedRoute = RoutingUtils.EncodeToPolyline(points);
            }
            catch (Exception)
            {
                //do nothing
            }
            if (encodedRoute == null)
            {
                return;
            }
            ImportExportRouteText.Text         = encodedRoute;
            ImportExportRoute.Visibility       = Visibility.Visible;
            ImportExportHeading.Text           = TranslationEngine.GetDynamicTranslationString("%EXPORT_ROUTE%", "Export Route");
            ImportExportRouteSubmit.Visibility = Visibility.Collapsed;
            ImportExportInstructions.Text      = TranslationEngine.GetDynamicTranslationString("%EXPORT_INSTRUCTION%", "Copy the below route to create a backup or share with others.");
        }
 private void ImportRoute_Click(object sender, RoutedEventArgs e)
 {
     ImportExportRoute.Visibility       = Visibility.Visible;
     ImportExportHeading.Text           = TranslationEngine.GetDynamicTranslationString("%IMPORT_ROUTE%", "Import Route");
     ImportExportRouteSubmit.Visibility = Visibility.Visible;
     ImportExportInstructions.Text      = TranslationEngine.GetDynamicTranslationString("%IMPORT_INSTRUCTION%", "Enter a route below to Import it into Catchem, once entered click import.");
     ImportExportRouteText.Clear();
 }
        private void ImportRouteSubmit_Click(object sender, RoutedEventArgs e)
        {
            ImportExportRoute.Visibility = Visibility.Collapsed;
            var encRoute = ImportExportRouteText.Text;

            if (encRoute == null)
            {
                return;
            }
            List <GoogleLocation> decodedPoints;

            try
            {
                decodedPoints = RoutingUtils.DecodePolyline(encRoute).ToList();
            }
            catch (Exception)
            {
                return;
            }
            ClearRouteBuilder();
            var i = 0;

            foreach (var point in decodedPoints)
            {
                var pointlatlon = new PointLatLng(point.lat, point.lng);
                CreateImportedMarker(pointlatlon, i == 0);
                i++;
            }
            if (i > 0)
            {
                try
                {
                    if (_routeBuilder != null && _routeBuilder.Status == TaskStatus.Running)
                    {
                        return;
                    }
                    _cts          = new CancellationTokenSource();
                    _routeBuilder = Task.Run(() => BuildTheRouteTask(Token), Token);
                }
                catch (Exception)
                {
                    //ignore
                }
            }
            ImportExportRouteText.Clear();
            var startMarker = decodedPoints.FirstOrDefault();

            if (startMarker != null)
            {
                RouteCreatorMap.Position = new PointLatLng(startMarker.lat, startMarker.lng);
            }
            RouteCreatorMap.ZoomAndCenterMarkers(null);
        }
 private void ImportExportRouteCancel_Click(object sender, RoutedEventArgs e)
 {
     ImportExportRoute.Visibility = Visibility.Collapsed;
     ImportExportRouteText.Clear();
 }