Skip to main content

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.

Support
Targets (29)

Supported targets

  • purchase.checkout.actions.render-before
  • purchase.checkout.block.render
  • purchase.checkout.cart-line-item.render-after
  • purchase.checkout.cart-line-list.render-after
  • purchase.checkout.contact.render-after
  • purchase.checkout.delivery-address.render-after
  • purchase.checkout.delivery-address.render-before
  • purchase.checkout.footer.render-after
  • purchase.checkout.header.render-after
  • purchase.checkout.payment-method-list.render-after
  • purchase.checkout.payment-method-list.render-before
  • purchase.checkout.pickup-location-list.render-after
  • purchase.checkout.pickup-location-list.render-before
  • purchase.checkout.pickup-location-option-item.render-after
  • purchase.checkout.pickup-point-list.render-after
  • purchase.checkout.pickup-point-list.render-before
  • purchase.checkout.reductions.render-after
  • purchase.checkout.reductions.render-before
  • purchase.checkout.shipping-option-item.details.render
  • purchase.checkout.shipping-option-item.render-after
  • purchase.checkout.shipping-option-list.render-after
  • purchase.checkout.shipping-option-list.render-before
  • purchase.thank-you.announcement.render
  • purchase.thank-you.block.render
  • purchase.thank-you.cart-line-item.render-after
  • purchase.thank-you.cart-line-list.render-after
  • purchase.thank-you.customer-information.render-after
  • purchase.thank-you.footer.render-after
  • purchase.thank-you.header.render-after

Anchor to accessibilityLabel
accessibilityLabel
string

A label that describes the purpose or contents of the map for accessibility. When set, it will be announced to users using assistive technologies such as screen readers, providing context about what the map displays.

Anchor to apiKey
apiKey
string

A valid API key for the map service provider. This key is required to load and render the map tiles. Obtain a key from a supported provider such as Google Maps Platform.

Anchor to blockSize
blockSize
<>
Default: 'auto'

The block size of the element (height in horizontal writing modes). Learn more about the block-size property.

  • SizeUnits: Specific size values in pixels, percentages, or zero for precise control.
  • auto: Automatically sizes based on content and layout constraints.
string

A unique identifier for the element. Use this to reference the element in JavaScript, link labels to form controls, or target specific elements for styling or scripting.

Anchor to inlineSize
inlineSize
<>
Default: 'auto'

The inline size of the element (width in horizontal writing modes). Learn more about the inline-size property.

  • SizeUnits: Specific size values in pixels, percentages, or zero for precise control.
  • auto: Automatically sizes based on content and layout constraints.
Anchor to latitude
latitude
number
Default: 0

The latitude of the map's center point, in degrees. Valid values range from -90 (South Pole) to 90 (North Pole).

Anchor to longitude
longitude
number
Default: 0

The longitude of the map's center point, in degrees. Valid values range from -180 (west) to 180 (east).

Anchor to maxBlockSize
maxBlockSize
<>
Default: 'none'

The maximum block size of the element (maximum height in horizontal writing modes). Learn more about the max-block-size property.

Anchor to maxInlineSize
maxInlineSize
<>
Default: 'none'

The maximum inline size of the element (maximum width in horizontal writing modes). Learn more about the max-inline-size property.

Anchor to maxZoom
maxZoom
number
Default: 18

The maximum zoom level the user can reach on the map. Valid values are numbers from 0 (world view) to 18 (street level). Use this to prevent users from zooming in beyond a useful level of detail.

Anchor to minBlockSize
minBlockSize
<>
Default: '0'

The minimum block size of the element (minimum height in horizontal writing modes). Learn more about the min-block-size property.

Anchor to minInlineSize
minInlineSize
<>
Default: '0'

The minimum inline size of the element (minimum width in horizontal writing modes). Learn more about the min-inline-size property.

Anchor to minZoom
minZoom
number
Default: 0

The minimum zoom level the user can reach on the map. Valid values are numbers from 0 (world view) to 18 (street level). Use this to prevent users from zooming out beyond a useful level of context.

number
Default: 4

The initial zoom level of the map. Valid values are numbers from 0 (fully zoomed out, world view) to 18 (fully zoomed in, street level).

Learn more about registering events.

Anchor to boundschange
boundschange
<typeof tagName, >

A callback fired when the visible map boundaries change, such as after a pan or zoom completes.

Anchor to click
click
<typeof tagName, >

A callback fired when the user clicks on the map. Provides the geographic location of the click.

Anchor to dblclick
dblclick
<typeof tagName, >

A callback fired when the user double-clicks on the map. Provides the geographic location of the double-click.

Anchor to viewchange
viewchange
<typeof tagName, >

A callback fired when the map view changes, such as when the user pans or zooms. Provides the new center location and zoom level.

Use MapMarker to display a marker on a map. Use only as a child of s-map component.

Anchor to accessibilityLabel
accessibilityLabel
string

A label that describes the purpose or location of the marker for accessibility. When set, it will be announced to users using assistive technologies such as screen readers, providing context about what the marker represents.

Anchor to blockSize
blockSize
<>
Default: 'auto'

The block size of the element (height in horizontal writing modes). Learn more about the block-size property.

  • SizeUnits: Specific size values in pixels, percentages, or zero for precise control.
  • auto: Automatically sizes based on content and layout constraints.
Anchor to clusterable
clusterable
boolean
Default: false

Whether the marker can be grouped into clusters when the map is zoomed out. Clustering helps reduce visual clutter when many markers are close together at low zoom levels.

Anchor to command
command
'--auto' | '--show' | '--hide' | '--toggle'
Default: '--auto'

Sets the action the commandFor target should take when this marker is activated. See the documentation of particular components for the actions they support. Learn more about the command attribute.

  • --auto: a default action for the target component.
  • --show: shows the target component.
  • --hide: hides the target component.
  • --toggle: toggles the target component.
Anchor to commandFor
commandFor
string

The ID of a component that should respond to activations (for example, clicks) on this component. Refer to the command property for how to control the behavior of the target. Learn more about the commandfor attribute.

Anchor to inlineSize
inlineSize
<>
Default: 'auto'

The inline size of the element (width in horizontal writing modes). Learn more about the inline-size property.

  • SizeUnits: Specific size values in pixels, percentages, or zero for precise control.
  • auto: Automatically sizes based on content and layout constraints.
Anchor to latitude
latitude
number
Default: 0

The latitude of the marker’s position in degrees. Valid values range from -90 (South Pole) to 90 (North Pole).

Anchor to longitude
longitude
number
Default: 0

The longitude of the marker’s position in degrees. Valid values range from -180 (west) to 180 (east).

Learn more about registering events.

Anchor to click
click
<typeof tagName>

A callback fired when the user clicks on the marker. This event does not propagate to the parent map — only the marker receives the click.

Learn more about component slots.

Anchor to graphic
graphic
HTMLElement

A custom graphic element to use as the marker. If not provided, the map provider’s default marker pin is displayed.

Examples
<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

Was this page helpful?