![](dotnetdiagramimages/image1237.png)
public sealed class Map : ArcGIS.Desktop.Framework.Contracts.PropertyChangedBase, ArcGIS.Desktop.Core.IMetadataInfo, IElementContainer, ILayerContainer, ILayerContainerEdit, IStandaloneTableContainer, IStandaloneTableContainerEdit, System.ComponentModel.INotifyPropertyChanged
Public NotInheritable Class Map Inherits ArcGIS.Desktop.Framework.Contracts.PropertyChangedBase Implements ArcGIS.Desktop.Core.IMetadataInfo, IElementContainer, ILayerContainer, ILayerContainerEdit, IStandaloneTableContainer, IStandaloneTableContainerEdit, System.ComponentModel.INotifyPropertyChanged
To create a Map, you must call one of the create methods of the MapFactory class.
To open a map, use ProApp.Panes.CreateMapPaneAsync method.
You can also think of a Map as a container of layers, StandaloneTables, bookmarks etc. You need to use a MapView to interact with a map. Multiple MapViews can be opened for a Map at a given time, but there can only be one active MapView which is returned by the MapView.Active static member. Use the Map property to access the Map object associated with the MapView. The Map object has properties that operate on all layers within the map, such as spatial reference, reference scale, and so on, along with methods that manipulate the map's layers.
Map map = MapView.Active.Map;
await QueuedTask.Run(() => { var map = MapFactory.Instance.CreateMap(mapName, basemap: Basemap.ProjectDefault); //TODO: use the map... });
public static async Task<Map> FindOpenExistingMapAsync(string mapName) { return await QueuedTask.Run(async () => { Map map = null; Project proj = Project.Current; //Finding the first project item with name matches with mapName MapProjectItem mpi = proj.GetItems<MapProjectItem>() .FirstOrDefault(m => m.Name.Equals(mapName, StringComparison.CurrentCultureIgnoreCase)); if (mpi != null) { map = mpi.GetMap(); //Opening the map in a mapview await ProApp.Panes.CreateMapPaneAsync(map); } return map; }); }
Map map = null; //Assume we get the selected webmap from the Project pane's Portal tab if (Project.Current.SelectedItems.Count > 0) { if (MapFactory.Instance.CanCreateMapFrom(Project.Current.SelectedItems[0])) { map = MapFactory.Instance.CreateMapFromItem(Project.Current.SelectedItems[0]); await ProApp.Panes.CreateMapPaneAsync(map); } }
System.Object
ArcGIS.Desktop.Framework.Contracts.PropertyChangedBase
ArcGIS.Desktop.Mapping.Map
Target Platforms: Windows 11, Windows 10, Windows 8.1