# MapMarker

Place a marker at a geographic coordinate.

## Public import

```svelte
<script lang="ts">
  import { MapMarker } from "rom-ui/maps";
  import "rom-studio/styles";
</script>
```

## Composition and responsibility

The host supplies data, callbacks and application policy. The component does not provide persistence or authorization.

Public names: `MapMarker`.

## Declared props

This declaration comes from the installed package. Imported types retain their upstream meaning.

```ts
interface Props {
    longitude: number;
    latitude: number;
    children?: import("svelte").Snippet;
    onclick?: (e: MouseEvent) => void;
    onmouseenter?: (e: MouseEvent) => void;
    onmouseleave?: (e: MouseEvent) => void;
    ondragstart?: (lngLat: { lng: number; lat: number }) => void;
    ondrag?: (lngLat: { lng: number; lat: number }) => void;
    ondragend?: (lngLat: { lng: number; lat: number }) => void;
    draggable?: boolean;
    anchor?: Anchor;
    offset?: MarkerOptions["offset"];
    rotation?: number;
    pitchAlignment?: MarkerOptions["pitchAlignment"];
    rotationAlignment?: MarkerOptions["rotationAlignment"];
  }
```

## Source and version

ROM UI **0.1.0-alpha.7**. [Component source](https://github.com/pmikstacki/rom-ui/blob/v0.1.0-alpha.7/src/lib/maps/MapMarker.svelte).

Install the optional `maplibre-gl` peer and its styles. Provider contracts and attribution remain host responsibilities.

See [the composition guide](/docs/studio-compositions/) for host integration boundaries.
