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.

string

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.

string

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.

<>
Default: 'auto'

Adjust the block size.

string

A unique identifier for the element.

<>
Default: 'auto'

Adjust the inline size.

number
Default: 0

Map center’s latitude in degrees.

number
Default: 0

Map center’s longitude in degrees.

<>
Default: 'none'

Adjust the maximum block size.

<>
Default: 'none'

Adjust the maximum inline size.

number
Default: 18

The maximum zoom level which will be displayed on the map.

Valid zoom values are numbers from zero up to 18.

<>
Default: '0'

Adjust the minimum block size.

<>
Default: '0'

Adjust the minimum inline size.

number
Default: 0

The minimum zoom level which will be displayed on the map.

Valid zoom values are numbers from zero up to 18.

number
Default: 4

The initial Map zoom level.

Valid zoom values are numbers from zero up to 18. Larger zoom values correspond to a higher resolution.

Was this section helpful?

Learn more about registering events.

<typeof tagName, >

Callback when the viewport bounds have changed or the map is resized.

<typeof tagName, >

Callback when the user clicks on the map.

<typeof tagName, >

Callback when the user double-clicks on the map.

<typeof tagName, >

Callback when the map view changes.

Was this section helpful?

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

string

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.

<>
Default: 'auto'

Adjust the block size.

boolean
Default: false

Allows grouping the marker in clusters when zoomed out.

'--auto' | '--show' | '--hide' | '--toggle'
Default: '--auto'

Sets the action the commandFor 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.
string

ID of a component that should respond to activations (e.g. clicks) on this component.

See command for how to control the behavior of the target.

<>
Default: 'auto'

Adjust the inline size.

number
Default: 0

Marker’s location latitude in degrees.

number
Default: 0

Marker’s longitude latitude in degrees.

Was this section helpful?

Learn more about registering events.

<typeof tagName>

Callback when a marker is clicked.

It does not trigger a click event on the map itself.

Was this section helpful?

Learn more about component slots.

HTMLElement

The graphic to use as the marker.

If unset, it will default to the provider’s default marker.

Was this section helpful?

Code

<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

Examples of how to show a custom map marker graphic or a Popover when a map marker is clicked.

Use the Popover component to display content when a map marker is clicked.

Use the graphic slot to display a graphic as a map marker. Find more about slots here.

Was this section helpful?

Popover with map marker

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