# MapPopup

Source: https://lumeo.nativ.sh/components/map-popup

# MapPopup

A standalone popup anchored to a geographic coordinate, independent of any marker. Toggle visibility programmatically via IsOpen and bind to IsOpenChanged to react when the user closes it.

**Satellite package.** `MapPopup` lives in `Lumeo.Maps` — install it alongside the core `Lumeo` package. Place it inside a `<Map>` `ChildContent` slot. For marker-attached popups use the `Popup` slot on `MapMarker` instead.

## When to Use

-   Showing rich contextual information at a specific lat/lon without a visible marker
-   Displaying a location info panel triggered by an external button or list item
-   Pinning a persistent info card to a geographic coordinate (e.g., a selected search result)
-   Building custom "click-anywhere" detail panels on top of the map

Preview Code

Rich popup triggered by a button

Open popup

or click the map to close

Copy Code

Preview Code

Standalone popup — no marker required

Show Prime Meridian popup

Copy Code

Preview Code

Popup with action buttons

Open Eiffel Tower info

Copy Code

Preview Code

Persistent popup — CloseOnClick disabled

Copy Code

## API Reference

### MapPopup

Prop

Type

Default

Description

Lat

double

0

Latitude of the popup anchor point in decimal degrees.

Lon

double

0

Longitude of the popup anchor point in decimal degrees.

IsOpen

bool

false

Whether the popup is currently visible. Use `@bind-IsOpen` for two-way binding so the popup updates your state when closed by the user.

IsOpenChanged

EventCallback<bool>

—

Fires with `false` when the user closes the popup (close button or map click). Enables two-way binding via `@bind-IsOpen`.

CloseButton

bool

true

Show a close (×) button in the popup header. Set to `false` for persistent popups controlled entirely from code.

CloseOnClick

bool

true

Close the popup when the user clicks on the map background. Set to `false` for pinned popups that should stay open until explicitly dismissed.

Html

string?

null

HTML string for the popup body. Overrides `ChildContent` when set.

ChildContent

RenderFragment?

null

Rich Blazor render fragment for the popup body. Rendered into a hidden host element; MapLibre reads its `innerHTML` when the popup opens.
