Тема
События
Везде один и тот же паттерн подписки: on(type, fn) / off(type, fn) / once(type, fn), методы возвращают this для цепочек. Данные события — объект с lngLat, point, originalEvent, если применимо.
События карты (Map)
| Событие | Данные | Статус |
|---|---|---|
load | — | ✅ Первые тайлы видимой области загружены |
click, dblclick, contextmenu | { lngLat, point, originalEvent } | ✅ |
movestart, move, moveend | — | ✅ |
zoomstart, zoom, zoomend | — | ✅ |
resize | { width, height } | ✅ |
ts
map.on('moveend', () => console.log(map.getCenter(), map.getZoom()));
map.once('load', () => console.log('первые тайлы загружены'));События Marker
| Событие | Статус |
|---|---|
dragstart / drag / dragend (только если draggable: true) | ✅ |
click | ✅ |
ts
marker.on('click', () => marker.getPopup()?.openBalloon());События ClusterLayer
| Событие | Статус |
|---|---|
pointClick — клик по отдельной (некластеризованной) точке | ✅ |
События карты в iframe (postMessage)
Для управления встроенной картой снаружи (страница-хозяин → карта) и обратно используется postMessage — подробности и список команд в разделе «Управление картой из кода».
| Событие (карта → страница) | Данные |
|---|---|
ready | — |
click | { lng, lat } |
markerClick | { index, lng, lat } |
moveend | { center, zoom } |