--- title: MapPopover description: >- MapPopover provides additional information or context about a specific location or point of interest on a map. api_version: 2025-07 api_name: customer-account-ui-extensions source_url: html: >- https://shopify.dev/docs/api/customer-account-ui-extensions/2025-07/ui-components/media-and-visuals/mappopover md: >- https://shopify.dev/docs/api/customer-account-ui-extensions/2025-07/ui-components/media-and-visuals/mappopover.md --- Migrate to Polaris Version 2025-07 is the last API version to support React-based UI components. Later versions use [web components](https://shopify.dev/docs/api/customer-account-ui-extensions/latest/polaris-web-components), native UI elements with built-in accessibility, better performance, and consistent styling with [Shopify's design system](https://shopify.dev/docs/apps/design). Check out the [migration guide](https://shopify.dev/docs/apps/build/customer-accounts/migrate-to-web-components) to upgrade your extension. # Map​Popover MapPopover provides additional information or context about a specific location or point of interest on a map. ### Support Targets (25) ### Supported targets * Customer​Account::Kitchen​Sink * customer-account.​footer.​render-after * customer-account.​order-index.​announcement.​render * customer-account.​order-index.​block.​render * customer-account.​order-status.​announcement.​render * customer-account.​order-status.​block.​render * customer-account.​order-status.​cart-line-item.​render-after * customer-account.​order-status.​cart-line-list.​render-after * customer-account.​order-status.​customer-information.​render-after * customer-account.​order-status.​fulfillment-details.​render-after * customer-account.​order-status.​payment-details.​render-after * customer-account.​order-status.​return-details.​render-after * customer-account.​order-status.​unfulfilled-items.​render-after * customer-account.​order.​action.​menu-item.​render * customer-account.​order.​action.​render * customer-account.​order.​page.​render * customer-account.​page.​render * customer-account.​profile.​addresses.​render-after * customer-account.​profile.​announcement.​render * customer-account.​profile.​block.​render * customer-account.​profile.​company-details.​render-after * customer-account.​profile.​company-location-addresses.​render-after * customer-account.​profile.​company-location-payment.​render-after * customer-account.​profile.​company-location-staff.​render-after * customer-account.​profile.​payment.​render-after ## MapPopoverProps * **id** **string** A unique identifier for the component. * **onClose** **() => void** A callback that fires when the popover is closed. Use this to clean up state or update the UI when the user dismisses the popover. * **onOpen** **() => void** A callback that fires when the popover is opened. Use this to load additional data or update the UI when the popover becomes visible. Examples ## Preview ![](https://cdn.shopify.com/shopifycloud/shopify-dev/development/assets/assets/images/templated-apis-screenshots/checkout-ui-extensions/2025-07/mappopover-default-DdawW0MD.png) ### Examples * #### Basic MapPopover ##### React ```tsx import { reactExtension, Map, MapMarker, MapPopover, } from '@shopify/ui-extensions-react/customer-account'; export default reactExtension( 'customer-account.page.render', () => , ); function Extension() { return ( Blue Mountains National Park store } /> ); } ``` ##### JS ```js import { extension, Map, MapMarker, MapPopover, } from '@shopify/ui-extensions/customer-account'; export default extension('customer-account.page.render', (root) => { const popoverFragment = root.createFragment(); const popover = root.createComponent( MapPopover, {}, 'Blue Mountains National Park store', ); popoverFragment.appendChild(popover); const map = root.createComponent( Map, { apiKey: 'YOUR_API_KEY', accessibilityLabel: 'Map', latitude: -28.024, longitude: 140.887, zoom: 4, }, [ root.createComponent(MapMarker, { latitude: -28.024, longitude: 140.887, accessibilityLabel: 'Map marker for Innamincka, Australia', overlay: popoverFragment, }), ], ); root.appendChild(map); }); ``` ## Best Practices * Use to display relevant details such as the name, address, description, or other pertinent information related to the location. * Ensure that the content displayed in the map popover is brief, relevant, and easy to understand. * Maintain visual consistency with the overall design of the checkout. ## Related [Component - Map](map) [Component - MapMarker](mapmarker)