Map
Use Map to display a map on a page. This component is useful for displaying a map of a location, such as a store or a customer’s address.
Anchor to propertiesProperties
- Anchor to accessibilityLabelaccessibilityLabelstring
A label that describes the purpose or contents of the map.
When set, it will be announced to users using assistive technologies and will provide them with more context.
- Anchor to apiKeyapiKeystring
A valid API key for the map service provider.
The map service provider may require an API key. Without an API key the map could be hidden or render in a limited developer mode.
- Anchor to blockSizeblockSizeMaybeResponsive<SizeUnitsOrAuto>Default: 'auto'
Adjust the block size.
- string
A unique identifier for the element.
- Anchor to inlineSizeinlineSizeMaybeResponsive<SizeUnitsOrAuto>Default: 'auto'
Adjust the inline size.
- Anchor to latitudelatitudenumberDefault: 0
Map center’s latitude in degrees.
- Anchor to longitudelongitudenumberDefault: 0
Map center’s longitude in degrees.
- Anchor to maxBlockSizemaxBlockSizeMaybeResponsive<SizeUnitsOrNone>Default: 'none'
Adjust the maximum block size.
- Anchor to maxInlineSizemaxInlineSizeMaybeResponsive<SizeUnitsOrNone>Default: 'none'
Adjust the maximum inline size.
- Anchor to maxZoommaxZoomnumberDefault: 18
The maximum zoom level which will be displayed on the map.
Valid zoom values are numbers from zero up to 18.
- Anchor to minBlockSizeminBlockSizeMaybeResponsive<SizeUnits>Default: '0'
Adjust the minimum block size.
- Anchor to minInlineSizeminInlineSizeMaybeResponsive<SizeUnits>Default: '0'
Adjust the minimum inline size.
- Anchor to minZoomminZoomnumberDefault: 0
The minimum zoom level which will be displayed on the map.
Valid zoom values are numbers from zero up to 18.
- Anchor to zoomzoomnumberDefault: 4
The initial Map zoom level.
Valid zoom values are numbers from zero up to 18. Larger zoom values correspond to a higher resolution.
MaybeResponsive
T | `@container${string}`SizeUnitsOrAuto
SizeUnits | "auto"SizeUnits
`${number}px` | `${number}%` | `0`SizeUnitsOrNone
SizeUnits | "none"Anchor to eventsEvents
Learn more about registering events.
- Anchor to boundschangeboundschangeCallbackEventListener<typeof tagName, MapBoundsEvent>
Callback when the viewport bounds have changed or the map is resized.
- Anchor to clickclickCallbackEventListener<typeof tagName, MapLocationEvent>
Callback when the user clicks on the map.
- Anchor to dblclickdblclickCallbackEventListener<typeof tagName, MapLocationEvent>
Callback when the user double-clicks on the map.
- Anchor to viewchangeviewchangeCallbackEventListener<typeof tagName, MapViewChangeEvent>
Callback when the map view changes.
CallbackEventListener
(EventListener & {
(event: CallbackEvent<TTagName, Event> & TData): void;
}) | nullCallbackEvent
TEvent & {
currentTarget: HTMLElementTagNameMap[TTagName];
}MapBoundsEvent
- bounds
{ northEast?: MapLocation; southWest?: MapLocation; }
export interface MapBoundsEvent {
bounds?: {
northEast?: MapLocation;
southWest?: MapLocation;
};
}MapLocation
- latitude
number - longitude
number
export interface MapLocation {
latitude?: number;
longitude?: number;
}MapLocationEvent
- location
MapLocation
export interface MapLocationEvent {
location?: MapLocation;
}MapViewChangeEvent
- location
MapLocation - zoom
number
export interface MapViewChangeEvent extends MapLocationEvent {
zoom?: number;
}Anchor to mapmarkerMapMarker
Use MapMarker to display a marker on a map. Use only as a child of s-map component.
- Anchor to accessibilityLabelaccessibilityLabelstring
A label that describes the purpose of the marker. When set, it will be announced to users using assistive technologies and will provide them with more context.
- Anchor to blockSizeblockSizeMaybeResponsive<SizeUnitsOrAuto>Default: 'auto'
Adjust the block size.
- Anchor to clusterableclusterablebooleanDefault: false
Allows grouping the marker in clusters when zoomed out.
- Anchor to commandcommand'--auto' | '--show' | '--hide' | '--toggle'Default: '--auto'
Sets the action the
should take when this clickable is activated.See the documentation of particular components for the actions they support.
--auto: a default action for the target component.--show: shows the target component.--hide: hides the target component.--toggle: toggles the target component.--copy: copies the target ClipboardItem.
- Anchor to commandForcommandForstring
ID of a component that should respond to activations (e.g. clicks) on this component.
See
commandfor how to control the behavior of the target.- Anchor to inlineSizeinlineSizeMaybeResponsive<SizeUnitsOrAuto>Default: 'auto'
Adjust the inline size.
- Anchor to latitudelatitudenumberDefault: 0
Marker’s location latitude in degrees.
- Anchor to longitudelongitudenumberDefault: 0
Marker’s longitude latitude in degrees.
MaybeResponsive
T | `@container${string}`SizeUnitsOrAuto
SizeUnits | "auto"SizeUnits
`${number}px` | `${number}%` | `0`Anchor to eventsEvents
Learn more about registering events.
- Anchor to clickclickCallbackEventListener<typeof tagName>
Callback when a marker is clicked.
It does not trigger a click event on the map itself.
CallbackEventListener
(EventListener & {
(event: CallbackEvent<TTagName, Event> & TData): void;
}) | nullCallbackEvent
TEvent & {
currentTarget: HTMLElementTagNameMap[TTagName];
}Anchor to slotsSlots
Learn more about component slots.
- Anchor to graphicgraphicHTMLElement
The graphic to use as the marker.
If unset, it will default to the provider’s default marker.
Code
Examples
Code
Default
<s-map apiKey="YOUR_API_KEY" latitude={51.5074} longitude={-0.1278}> <s-map-marker latitude={51.5074} longitude={-0.1278}></s-map-marker> </s-map>
Preview

Anchor to examplesExamples
Examples of how to show a custom map marker graphic or a Popover when a map marker is clicked.
Anchor to example-popover-with-map-markerPopover with map marker
Use the Popover component to display content when a map marker is clicked.
Anchor to example-map-with-graphic-as-map-markerMap with graphic as map marker
Use the graphic slot to display a graphic as a map marker. Find more about slots here.
Popover with map marker
Examples
Popover with map marker
Description
Use the `Popover` component to display content when a map marker is clicked.
Default
<s-map apiKey="YOUR_API_KEY" blockSize="400px" inlineSize="400px" latitude={37.7749} longitude={-122.4194} > <s-map-marker latitude={37.7749} longitude={-122.4194} commandFor="popover-san-francisco" ></s-map-marker> <s-popover id="popover-san-francisco">San Francisco</s-popover> </s-map>Map with graphic as map marker
Description
Use the `graphic` slot to display a graphic as a map marker. Find more about slots [here](/docs/api/checkout-ui-extensions/2025-10/using-polaris-components#slots).
Default
<s-map apiKey="YOUR_API_KEY" blockSize="400px" inlineSize="400px" latitude={37.7749} longitude={-122.4194} > <s-map-marker latitude={37.7749} longitude={-122.4194} > <s-image src="https://cdn.shopify.com/YOUR_IMAGE_HERE" slot="graphic"></s-image> </s-map-marker> </s-map>