HOW TO
In an ArcGIS Pro project, a single layout can contain multiple map frames, each referencing a different map. Identifying the maps when a layout is opened can be done through visual inspection in the Contents pane in ArcGIS Pro.
An alternative to identifying maps referenced in a layout, especially when multiple maps are involved, is by using ArcPy. The following procedure describes how to programmatically list all maps referenced in a layout in an ArcGIS Pro project using Python.
import arcpy mapDict= {}
aprx = arcpy.mp.ArcGISProject("CURRENT")
for lyt in aprx.listLayouts(): for m in lyt.listElements("MAPFRAME_ELEMENT"): if lyt.name in mapDict: mapDict[lyt.name].append(m.map.name) else: mapDict[lyt.name]=[m.map.name]
print(mapDict)
The code block below demonstrates the full script.
import arcpy mapDict= {} aprx = arcpy.mp.ArcGISProject("CURRENT") for lyt in aprx.listLayouts(): for m in lyt.listElements("MAPFRAME_ELEMENT"): if lyt.name in mapDict: mapDict[lyt.name].append(m.map.name) else: mapDict[lyt.name]=[m.map.name] print(mapDict)
Get help from ArcGIS experts
Download the Esri Support App