SaveNewMapAsync() public method

public SaveNewMapAsync ( Viewpoint initialViewpoint, string title, string description, string tags ) : System.Threading.Tasks.Task
initialViewpoint Viewpoint
title string
description string
tags string
return System.Threading.Tasks.Task
コード例 #1
0
        // Handle the OnMapInfoEntered event from the item input UI
        // MapSavedEventArgs contains the title, description, and tags that were entered
        private async void MapItemInfoEntered(object sender, MapSavedEventArgs e)
        {
            try
            {
                // Get information entered by the user for the new portal item properties
                var title       = e.Title;
                var description = e.Description;
                var tags        = e.Tags;

                // Get the current extent
                var currentViewpoint = _mapView.GetCurrentViewpoint(ViewpointType.BoundingGeometry);

                // Export the current map view for the item's thumbnail
                RuntimeImage thumbnailImg = await _mapView.ExportImageAsync();

                // See if the map has already been saved (has an associated portal item)
                if (!_mapViewModel.MapIsSaved)
                {
                    // Call a method on MapViewModel to save the map as a new portal item
                    await _mapViewModel.SaveNewMapAsync(currentViewpoint, title, description, tags, thumbnailImg);

                    // Report a successful save
                    UIAlertController alert = UIAlertController.Create("Saved map", "Saved " + title + " to ArcGIS Online", UIAlertControllerStyle.Alert);
                    alert.AddAction(UIAlertAction.Create("OK", UIAlertActionStyle.Default, null));
                    PresentViewController(alert, true, null);
                }
                else
                {
                    // Map has previously been saved as a portal item, update it (title, description, and tags will remain the same)
                    _mapViewModel.UpdateMapItem();

                    // Report success
                    UIAlertController alert = UIAlertController.Create("Updated map", "Saved changes to " + title, UIAlertControllerStyle.Alert);
                    alert.AddAction(UIAlertAction.Create("OK", UIAlertActionStyle.Default, null));
                    PresentViewController(alert, true, null);
                }
            }
            catch (Exception ex)
            {
                // Report save error
                UIAlertController alert = UIAlertController.Create("Error", ex.Message, UIAlertControllerStyle.Alert);
                alert.AddAction(UIAlertAction.Create("OK", UIAlertActionStyle.Default, null));
                PresentViewController(alert, true, null);
            }
            finally
            {
                // Get rid of the item input controls
                if (_mapInfoUI != null)
                {
                    _mapInfoUI.Hide();
                    _mapInfoUI = null;
                }
            }
        }
コード例 #2
0
        // Click event for the OK button on the save map dialog
        private async void OnCloseSaveDialog(object sender, EventArgs e)
        {
            if (_saveDialog != null)
            {
                // Get title and description text
                var title       = _titleText.Text;
                var description = _descriptionText.Text;

                // Dismiss the dialog
                _saveDialog.Dismiss();

                // Return if the text is null or empty for either
                if (string.IsNullOrEmpty(title) || string.IsNullOrEmpty(description))
                {
                    return;
                }

                // Get the map view's current extent (viewpoint) to use as the web map initial extent
                Viewpoint initialMapViewpoint = _mapView.GetCurrentViewpoint(ViewpointType.BoundingGeometry);

                // Export the current map view for the item's thumbnail
                RuntimeImage thumbnailImg = await _mapView.ExportImageAsync();

                // Provide some default tags for the item
                var tags = new string[] { "ArcGIS Runtime SDK", "tutorial" };

                try
                {
                    // Call a function on the view model to save the map as a new portal item
                    await _mapViewModel.SaveNewMapAsync(initialMapViewpoint, title, description, tags, thumbnailImg);

                    // Report a successful save
                    AlertDialog.Builder dialogBuilder = new AlertDialog.Builder(this);
                    dialogBuilder.SetTitle("Map Saved!");
                    dialogBuilder.SetMessage("Your map ('" + title + "' was saved to ArcGIS Online");
                    dialogBuilder.Show();
                }
                catch (Exception ex)
                {
                    // Show the exception message
                    AlertDialog.Builder dialogBuilder = new AlertDialog.Builder(this);
                    dialogBuilder.SetTitle("Error");
                    dialogBuilder.SetMessage("Unable to save: " + ex.Message);
                    dialogBuilder.Show();
                }
            }
        }
コード例 #3
0
        // Event handler to get information entered by the user and save the map
        private async void SaveMapAsync(object sender, ArcGISRuntime.Samples.AuthorEditSaveMap.SaveMapEventArgs e)
        {
            try
            {
                // Get information entered by the user for the new portal item properties
                var title       = e.MapTitle;
                var description = e.MapDescription;
                var tags        = e.Tags;

                // Get the current extent displayed in the map view
                var currentViewpoint = MyMapView.GetCurrentViewpoint(Esri.ArcGISRuntime.Mapping.ViewpointType.BoundingGeometry);

                // Export the current map view for the item's thumbnail
                RuntimeImage thumbnailImg = await MyMapView.ExportImageAsync();

                // See if the map has already been saved
                if (!_mapViewModel.MapIsSaved)
                {
                    // Save the map as a portal item
                    await _mapViewModel.SaveNewMapAsync(currentViewpoint, title, description, tags, thumbnailImg);

                    // Report a successful save
                    DisplayAlert("Map Saved", "Saved '" + title + "' to ArcGIS Online!", "OK");
                }
                else
                {
                    // Map has previously been saved as a portal item, update it (title, description, and tags will remain the same)
                    _mapViewModel.UpdateMapItem();

                    // Report success
                    DisplayAlert("Map Updated", "Saved changes to '" + title + "'", "OK");
                }
            }
            catch (Exception ex)
            {
                // Show the exception message
                DisplayAlert("Unable to save map", ex.Message, "OK");
            }
        }