ArcGIS Pro 3.4 API Reference Guide
ArcGIS.Desktop.Mapping Namespace / Map Class
Members Example

In This Topic
    Map Class
    In This Topic
    Represents the primary object used for the organization of geographic data.
    Object Model
    Map ClassBookmark ClassAnimation ClassEnvelope ClassElevationSurfaceLayer ClassLayer ClassStandaloneTable ClassPolygon ClassEnvelope ClassEnvelope ClassCIMMap ClassElevationProfileResult ClassDisplayUnitFormat ClassCIMGeneralPlacementProperties ClassElevationSurfaceLayer ClassSelectionSet ClassDisplayUnitFormat ClassSelectionSet ClassSurfaceZsResult ClassOperationManager ClassSelectionSet ClassSpatialReference ClassGraphicsLayer Class
    Syntax
    Remarks

    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.

    Example
    Get the active map
    Map map = MapView.Active.Map;
    Create a new map with a default basemap layer
    await QueuedTask.Run(() =>
    {
      var map = MapFactory.Instance.CreateMap(mapName, basemap: Basemap.ProjectDefault);
      //TODO: use the map...
    });
    
    Find a map within a project and open it
    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;
      });
    
    }
    Open a webmap
    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);
      }
    }
    
    Inheritance Hierarchy
    Requirements

    Target Platforms: Windows 11, Windows 10

    ArcGIS Pro version: 3 or higher.
    See Also