Class: QgsLayoutItemMap

class qgis.core.QgsLayoutItemMap(layout: QgsLayout)

Bases: QgsLayoutItem

Constructor for QgsLayoutItemMap, with the specified parent layout.

Layout graphical items for displaying a map.

New in version 3.0.

Parameters

layout

class AtlasScalingMode

Bases: int

Auto = 2
Fixed = 0
class MapItemFlag

Bases: int

class MapItemFlags

Bases: sip.wrapper

QgsLayoutItemMap.MapItemFlags(Union[QgsLayoutItemMap.MapItemFlags, QgsLayoutItemMap.MapItemFlag]) QgsLayoutItemMap.MapItemFlags(QgsLayoutItemMap.MapItemFlags)

Predefined = 1
ShowPartialLabels = 1
ShowUnplacedLabels = 2
accept(self, visitor: QgsStyleEntityVisitorInterface) → bool
Parameters

visitor (QgsStyleEntityVisitorInterface) –

Return type

bool

addLabelBlockingItem(self, item: QgsLayoutItem)

Sets the specified layout item as a “label blocking item” for this map.

Items which are marked as label blocking items prevent any map labels from being placed in the area of the map item covered by the item.

New in version 3.6.

Parameters

item (QgsLayoutItem) –

addRenderedFeatureHandler(self, handler: QgsRenderedFeatureHandlerInterface)

Adds a rendered feature handler to use while rendering the map.

Ownership of handler is NOT transferred, and it is the caller’s responsibility to ensure that the handler exists for as long as it is registered with the map item.

Callers should call removeRenderedFeatureHandler() to remove the handler before destroying the handler.

New in version 3.10.

Parameters

handler (QgsRenderedFeatureHandlerInterface) –

adjustPointForReferencePosition()
applyDataDefinedSize()
applyItemSizeConstraint()
assignFreeId(self)

Sets the map id() to a number not yet used in the layout. The existing id() is kept if it is not in use.

atlasDriven(self) → bool

Returns whether the map extent is set to follow the current atlas feature.

Return type

bool

Returns

True if map will follow the current atlas feature.

See also

setAtlasDriven()

atlasMargin(self, valueType: QgsLayoutObject.PropertyValueType = QgsLayoutObject.EvaluatedValue) → float

Returns the margin size (percentage) used when the map is in atlas mode.

Parameters

valueType (QgsLayoutObject.PropertyValueType = QgsLayoutObject.EvaluatedValue) – controls whether the returned value is the user specified atlas margin, or the current evaluated atlas margin (which may be affected by data driven atlas margin settings).

Return type

float

Returns

margin size in percentage to leave around the atlas feature’s extent

Note

this is only used if atlasScalingMode() is Auto.

See also

setAtlasMargin()

atlasScalingMode(self) → QgsLayoutItemMap.AtlasScalingMode

Returns the current atlas scaling mode. This controls how the map’s extents are calculated for the current atlas feature when an atlas composition is enabled.

Return type

QgsLayoutItemMap.AtlasScalingMode

Returns

the current scaling mode

Note

this parameter is only used if atlasDriven() is True

See also

atlasDriven()

boundingRect(self) → QRectF
Return type

QRectF

childEvent()
connectNotify()
containsAdvancedEffects(self) → bool
Return type

bool

containsWmsLayer(self) → bool

Returns True if the map contains a WMS layer.

Return type

bool

contextMenuEvent()
create(layout: QgsLayout) → QgsLayoutItemMap

Returns a new map item for the specified layout.

The caller takes responsibility for deleting the returned object.

Parameters

layout (QgsLayout) –

Return type

QgsLayoutItemMap

createExpressionContext(self) → QgsExpressionContext
Return type

QgsExpressionContext

crs(self) → QgsCoordinateReferenceSystem

Returns coordinate reference system used for rendering the map. This will match the presetCrs() if that is set, or if a preset CRS is not set then the map’s CRS will follow the composition’s project’s CRS.

See also

presetCrs()

See also

setCrs()

Return type

QgsCoordinateReferenceSystem

customEvent()
disconnectNotify()
displayName(self) → str
Return type

str

dragEnterEvent()
dragLeaveEvent()
dragMoveEvent()
draw(self, context: QgsLayoutItemRenderContext)
Parameters

context (QgsLayoutItemRenderContext) –

drawAnnotations(self) → bool

Returns whether annotations are drawn within the map.

Return type

bool

drawBackground()
drawDebugRect()
drawFrame()
dropEvent()
exportLayerBehavior(self) → QgsLayoutItem.ExportLayerBehavior
Return type

QgsLayoutItem.ExportLayerBehavior

exportLayerDetails(self) → QgsLayoutItem.ExportLayerDetail
Return type

QgsLayoutItem.ExportLayerDetail

extent(self) → QgsRectangle

Returns the current map extent.

See also

extentChanged()

Return type

QgsRectangle

extentChanged

Emitted when the map’s extent changes.

See also

setExtent()

See also

extent() [signal]

finalizeRestoreFromXml(self)
focusInEvent()
focusOutEvent()
followVisibilityPreset(self) → bool

Returns whether the map should follow a map theme. If True, the layers and layer styles will be used from given preset name (configured with setFollowVisibilityPresetName() method). This means when preset’s settings are changed, the new settings are automatically picked up next time when rendering, without having to explicitly update them. At most one of the flags keepLayerSet() and followVisibilityPreset() should be enabled at any time since they are alternative approaches - if both are enabled, following map theme has higher priority. If neither is enabled (or if preset name is not set), map will use the same configuration as the map canvas uses.

Return type

bool

followVisibilityPresetName(self) → str

Preset name that decides which layers and layer styles are used for map rendering. It is only used when followVisibilityPreset() returns True.

Return type

str

grid(self) → QgsLayoutItemMapGrid

Returns the map item’s first grid. This is a convenience function.

See also

grids()

Return type

QgsLayoutItemMapGrid

grids(self) → QgsLayoutItemMapGridStack

Returns the map item’s grid stack, which is used to control how grids are drawn over the map’s contents.

See also

grid()

Return type

QgsLayoutItemMapGridStack

hoverEnterEvent()
hoverLeaveEvent()
hoverMoveEvent()
icon(self) → QIcon
Return type

QIcon

inputMethodEvent()
inputMethodQuery()
invalidateCache(self)
isDrawing(self) → bool

True if a draw is already in progress

Return type

bool

isLabelBlockingItem(self, item: QgsLayoutItem) → bool

Returns True if the specified item is a “label blocking item”.

Items which are marked as label blocking items prevent any map labels from being placed in the area of the map item covered by the item.

New in version 3.6.

Parameters

item (QgsLayoutItem) –

Return type

bool

isSignalConnected()
itemChange()
itemFlags(self) → QgsLayoutItem.Flags
Return type

QgsLayoutItem.Flags

keepLayerSet(self) → bool

Returns whether a stored layer set should be used or the current layer set from the project associated with the layout. This is just a GUI flag, and itself does not change which layers are rendered in the map. Instead, use setLayers() to control which layers are rendered.

See also

layers()

Return type

bool

keepLayerStyles(self) → bool

Returns whether current styles of layers should be overridden by previously stored styles.

Return type

bool

keyPressEvent()
keyReleaseEvent()
labelMargin(self) → QgsLayoutMeasurement

Returns the margin from the map edges in which no labels may be placed.

If the margin is 0 then labels can be placed right up to the edge (and possibly overlapping the edge) of the map.

See also

setLabelMargin()

New in version 3.6.

Return type

QgsLayoutMeasurement

layerStyleOverrides(self) → Dict[str, str]

Returns stored overrides of styles for layers.

Return type

Dict[str, str]

layerStyleOverridesChanged

Emitted when layer style overrides are changed… a means to let associated legend items know they should update [signal]

layers(self) → List[QgsMapLayer]

Returns the stored layer set. If empty, the current project layers will be used instead.

See also

setLayers()

See also

keepLayerSet()

Return type

List[QgsMapLayer]

layersToRender(self, context: QgsExpressionContext = None) → List[QgsMapLayer]

Returns a list of the layers which will be rendered within this map item, considering any locked layers, linked map theme, and data defined settings.

Parameters

context (QgsExpressionContext = None) –

Return type

List[QgsMapLayer]

layoutToMapCoordsTransform(self) → QTransform

Creates a transform from layout coordinates to map coordinates.

Return type

QTransform

mapFlags(self) → QgsLayoutItemMap.MapItemFlags

Returns the map item’s flags, which control how the map content is drawn.

See also

setMapFlags()

New in version 3.6.

Return type

QgsLayoutItemMap.MapItemFlags

mapRotation(self, valueType: QgsLayoutObject.PropertyValueType = QgsLayoutObject.EvaluatedValue) → float

Returns the rotation used for drawing the map within the layout item, in degrees clockwise.

Parameters

valueType (QgsLayoutObject.PropertyValueType = QgsLayoutObject.EvaluatedValue) – controls whether the returned value is the user specified rotation, or the current evaluated rotation (which may be affected by data driven rotation settings).

See also

setMapRotation()

Return type

float

mapRotationChanged

Emitted when the map’s rotation changes.

See also

setMapRotation()

See also

mapRotation() [signal]

Parameters

newRotation (float) –

mapSettings(self, extent: QgsRectangle, size: QSizeF, dpi: float, includeLayerSettings: bool) → QgsMapSettings

Returns map settings that will be used for drawing of the map.

If includeLayerSettings is True, than settings specifically relating to map layers and map layer styles will be calculated. This can be expensive to calculate, so if they are not required in the map settings (e.g. for map settings which are used for scale related calculations only) then includeLayerSettings should be False.

Parameters
  • extent (QgsRectangle) –

  • size (QSizeF) –

  • dpi (float) –

  • includeLayerSettings (bool) –

Return type

QgsMapSettings

mapToItemCoords(self, mapCoords: Union[QPointF, QPoint]) → QPointF

Transforms map coordinates to item coordinates (considering rotation and move offset)

Parameters

mapCoords (Union[QPointF) –

Return type

QPointF

mapUnitsToLayoutUnits(self) → float

Returns the conversion factor from map units to layout units. This is calculated using the width of the map item and the width of the current visible map extent.

Return type

float

mouseDoubleClickEvent()
mouseMoveEvent()
mousePressEvent()
mouseReleaseEvent()
moveContent(self, dx: float, dy: float)
Parameters
  • dx (float) –

  • dy (float) –

nextExportPart(self) → bool
Return type

bool

numberExportLayers(self) → int
Return type

int

overview(self) → QgsLayoutItemMapOverview

Returns the map item’s first overview. This is a convenience function.

Return type

QgsLayoutItemMapOverview

Returns

pointer to first overview for map item

See also

overviews()

overviews(self) → QgsLayoutItemMapOverviewStack

Returns the map item’s overview stack, which is used to control how overviews are drawn over the map’s contents.

Return type

QgsLayoutItemMapOverviewStack

Returns

pointer to overview stack

See also

overview()

paint(self, painter: QPainter, itemStyle: QStyleOptionGraphicsItem, pWidget: QWidget)
Parameters
  • painter (QPainter) –

  • itemStyle (QStyleOptionGraphicsItem) –

  • pWidget (QWidget) –

positionAtReferencePoint()
prepareGeometryChange()
preparedForAtlas

Emitted when the map has been prepared for atlas rendering, just before actual rendering [signal]

presetCrs(self) → QgsCoordinateReferenceSystem

Returns the map’s preset coordinate reference system. If set, this CRS will be used to render the map regardless of any project CRS setting. If the returned CRS is not valid then the project CRS will be used to render the map.

See also

crs()

See also

setCrs()

Return type

QgsCoordinateReferenceSystem

readObjectPropertiesFromElement()
readPropertiesFromElement(self, element: QDomElement, document: QDomDocument, context: QgsReadWriteContext) → bool
Parameters
Return type

bool

receivers()
refresh(self)
refreshBackgroundColor()
refreshBlendMode()
refreshDataDefinedProperty(self, property: QgsLayoutObject.DataDefinedProperty = QgsLayoutObject.AllProperties)
Parameters

property (QgsLayoutObject.DataDefinedProperty = QgsLayoutObject.AllProperties) –

refreshFrame()
refreshItemPosition()
refreshItemRotation()
refreshItemSize()
refreshOpacity()
removeLabelBlockingItem(self, item: QgsLayoutItem)

Removes the specified layout item from the map’s “label blocking items”.

Items which are marked as label blocking items prevent any map labels from being placed in the area of the map item covered by the item.

New in version 3.6.

Parameters

item (QgsLayoutItem) –

removeRenderedFeatureHandler(self, handler: QgsRenderedFeatureHandlerInterface)

Removes a previously added rendered feature handler.

New in version 3.10.

Parameters

handler (QgsRenderedFeatureHandlerInterface) –

renderingErrors(self) → List[QgsMapRendererJob.Error]

Returns map rendering errors

Return type

List[QgsMapRendererJob.Error]

Returns

list of errors

requestedExtent(self) → QgsRectangle

Calculates the extent to request and the yShift of the top-left point in case of rotation.

Return type

QgsRectangle

requiresRasterization(self) → bool
Return type

bool

scale(self) → float

Returns the map scale. The scale value indicates the scale denominator, e.g. 1000.0 for a 1:1000 map.

See also

setScale()

Return type

float

sceneEvent()
sceneEventFilter()
sender()
senderSignalIndex()
setAtlasDriven(self, enabled: bool)

Sets whether the map extent will follow the current atlas feature.

Parameters

enabled (bool) – set to True if the map extents should be set by the current atlas feature.

See also

atlasDriven()

setAtlasMargin(self, margin: float)

Sets the margin size (percentage) used when the map is in atlas mode.

Parameters

margin (float) – size in percentage to leave around the atlas feature’s extent

Note

this is only used if atlasScalingMode() is Auto.

See also

atlasMargin()

setAtlasScalingMode(self, mode: QgsLayoutItemMap.AtlasScalingMode)

Sets the current atlas scaling mode. This controls how the map’s extents are calculated for the current atlas feature when an atlas composition is enabled.

Parameters

mode (QgsLayoutItemMap.AtlasScalingMode) – atlas scaling mode to set

Note

this parameter is only used if atlasDriven() is True

See also

atlasDriven()

setCrs(self, crs: QgsCoordinateReferenceSystem)

Sets the map’s preset crs (coordinate reference system). If a valid CRS is set, this CRS will be used to render the map regardless of any project CRS setting. If the CRS is not valid then the project CRS will be used to render the map.

See also

crs()

See also

presetCrs()

Parameters

crs (QgsCoordinateReferenceSystem) –

setDrawAnnotations(self, draw: bool)

Sets whether annotations are drawn within the map.

Parameters

draw (bool) –

setExtent(self, extent: QgsRectangle)

Sets a new extent for the map. This method may change the width or height of the map item to ensure that the extent exactly matches the specified extent, with no overlap or margin. This method implicitly alters the map scale.

See also

zoomToExtent()

See also

extentChanged()

Parameters

extent (QgsRectangle) –

setFixedSize()
setFollowVisibilityPreset(self, follow: bool)

Sets whether the map should follow a map theme. See followVisibilityPreset() for more details.

Parameters

follow (bool) –

setFollowVisibilityPresetName(self, name: str)

Sets preset name for map rendering. See followVisibilityPresetName() for more details.

Parameters

name (str) –

setFrameStrokeWidth(self, width: QgsLayoutMeasurement)
Parameters

width (QgsLayoutMeasurement) –

setKeepLayerSet(self, enabled: bool)

Sets whether the stored layer set should be used or the current layer set of the associated project. This is just a GUI flag, and itself does not change which layers are rendered in the map. Instead, use setLayers() to control which layers are rendered.

See also

keepLayerSet()

See also

layers()

Parameters

enabled (bool) –

setKeepLayerStyles(self, enabled: bool)

Sets whether current styles of layers should be overridden by previously stored styles.

Parameters

enabled (bool) –

setLabelMargin(self, margin: QgsLayoutMeasurement)

Sets the margin from the map edges in which no labels may be placed.

If the margin is 0 then labels can be placed right up to the edge (and possibly overlapping the edge) of the map.

See also

labelMargin()

New in version 3.6.

Parameters

margin (QgsLayoutMeasurement) –

setLayerStyleOverrides(self, overrides: Dict[str, str])

Sets the stored overrides of styles for layers.

Parameters

overrides (Dict[str) –

setLayers(self, layers: Iterable[QgsMapLayer])

Sets the stored layers set. If empty, the current project layers will be used instead.

See also

layers()

See also

keepLayerSet()

Parameters

layers (Iterable[QgsMapLayer]) –

setMapFlags(self, flags: Union[QgsLayoutItemMap.MapItemFlags, QgsLayoutItemMap.MapItemFlag])

Sets the map item’s flags, which control how the map content is drawn.

See also

mapFlags()

New in version 3.6.

Parameters

flags (Union[QgsLayoutItemMap.MapItemFlags) –

setMapRotation(self, rotation: float)

Sets the rotation for the map - this does not affect the layout item shape, only the way the map is drawn within the item. Rotation is in degrees, clockwise.

See also

mapRotation()

Parameters

rotation (float) –

setMinimumSize()
setMoveContentPreviewOffset(self, dx: float, dy: float)
Parameters
  • dx (float) –

  • dy (float) –

setScale(self, scale: float, forceUpdate: bool = True)

Sets new map scale and changes only the map extent.

The scale value indicates the scale denominator, e.g. 1000.0 for a 1:1000 map.

See also

scale()

Parameters
  • scale (float) –

  • forceUpdate (bool = True) –

startLayeredExport(self)
stopLayeredExport(self)
storeCurrentLayerStyles(self)

Stores the current project layer styles into style overrides.

timerEvent()
topLeftToReferencePoint()
transformedMapPolygon(self) → QPolygonF

Returns extent that considers rotation and shift with mOffsetX / mOffsetY

Return type

QPolygonF

type(self) → int
Return type

int

updateBoundingRect(self)

Updates the bounding rect of this item. Call this function before doing any changes related to annotation out of the map rectangle

updateMicroFocus()
visibleExtentPolygon(self) → QPolygonF

Returns a polygon representing the current visible map extent, considering map extents and rotation. If the map rotation is 0, the result is the same as currentMapExtent

Return type

QPolygonF

Returns

polygon with the four corner points representing the visible map extent. The points are clockwise, starting at the top-left point

See also

extent()

wheelEvent()
writeObjectPropertiesToElement()
writePropertiesToElement(self, element: QDomElement, document: QDomDocument, context: QgsReadWriteContext) → bool
Parameters
Return type

bool

zoomContent(self, factor: float, point: Union[QPointF, QPoint])
Parameters
  • factor (float) –

  • point (Union[QPointF) –

zoomToExtent(self, extent: QgsRectangle)

Zooms the map so that the specified extent is fully visible within the map item. This method will not change the width or height of the map, and may result in an overlap or margin from the specified extent. This method implicitly alters the map scale.

See also

setExtent()

Parameters

extent (QgsRectangle) –