lustre_kakaomap/events

Event subscriptions for KakaoMap objects.

Bridges KakaoMap JavaScript events to Lustre messages via Effects. Each function returns an Effect that registers an event listener.

Values

pub fn listen(
  id id: String,
  event event: String,
  listener_id listener_id: String,
  handler handler: fn(coords.LatLng) -> msg,
) -> effect.Effect(msg)

Subscribes to a map mouse event with a named listener ID for later removal. Use with events like “click”, “dblclick”, “rightclick”, “mousemove”.

events.listen(id: "map", event: "click", listener_id: "my_click", handler: MapClicked)
pub fn listen_simple(
  id id: String,
  event event: String,
  listener_id listener_id: String,
  handler handler: fn() -> msg,
) -> effect.Effect(msg)

Subscribes to a map state event with a named listener ID. Use with events like “idle”, “center_changed”, “zoom_changed”, “dragend”.

events.listen_simple(id: "map", event: "idle", listener_id: "my_idle", handler: fn() { MapIdle })
pub fn off(
  id id: String,
  listener_id listener_id: String,
) -> effect.Effect(msg)

Removes a named event listener.

events.off(id: "map", listener_id: "my_click")
pub fn off_all(id id: String) -> effect.Effect(msg)

Removes all named event listeners for a map.

pub fn on_bounds_changed(
  id id: String,
  handler handler: fn() -> msg,
) -> effect.Effect(msg)

Subscribes to bounds change events.

pub fn on_center_changed(
  id id: String,
  handler handler: fn() -> msg,
) -> effect.Effect(msg)

Subscribes to center coordinate changes.

pub fn on_click(
  id id: String,
  handler handler: fn(coords.LatLng) -> msg,
) -> effect.Effect(msg)

Subscribes to map click events.

pub fn on_dblclick(
  id id: String,
  handler handler: fn(coords.LatLng) -> msg,
) -> effect.Effect(msg)

Subscribes to map double-click events.

pub fn on_drag(
  id id: String,
  handler handler: fn() -> msg,
) -> effect.Effect(msg)

Subscribes to drag events (fires continuously).

pub fn on_dragend(
  id id: String,
  handler handler: fn() -> msg,
) -> effect.Effect(msg)

Subscribes to drag end events.

pub fn on_dragstart(
  id id: String,
  handler handler: fn() -> msg,
) -> effect.Effect(msg)

Subscribes to drag start events.

pub fn on_idle(
  id id: String,
  handler handler: fn() -> msg,
) -> effect.Effect(msg)

Subscribes to idle events (map stops moving/zooming).

pub fn on_maptypeid_changed(
  id id: String,
  handler handler: fn() -> msg,
) -> effect.Effect(msg)

Subscribes to map type change events.

pub fn on_marker_click(
  id id: String,
  marker_id marker_id: String,
  handler handler: fn() -> msg,
) -> effect.Effect(msg)

Subscribes to marker click events.

pub fn on_marker_dragend(
  id id: String,
  marker_id marker_id: String,
  handler handler: fn(coords.LatLng) -> msg,
) -> effect.Effect(msg)

Subscribes to marker drag end events with final position.

pub fn on_marker_mouseout(
  id id: String,
  marker_id marker_id: String,
  handler handler: fn() -> msg,
) -> effect.Effect(msg)

Subscribes to marker mouseout events.

pub fn on_marker_mouseover(
  id id: String,
  marker_id marker_id: String,
  handler handler: fn() -> msg,
) -> effect.Effect(msg)

Subscribes to marker mouseover events.

pub fn on_mousemove(
  id id: String,
  handler handler: fn(coords.LatLng) -> msg,
) -> effect.Effect(msg)

Subscribes to map mouse move events.

pub fn on_rightclick(
  id id: String,
  handler handler: fn(coords.LatLng) -> msg,
) -> effect.Effect(msg)

Subscribes to map right-click events.

pub fn on_shape_click(
  id id: String,
  shape_id shape_id: String,
  handler handler: fn(coords.LatLng) -> msg,
) -> effect.Effect(msg)

Subscribes to shape click events.

pub fn on_shape_mouseout(
  id id: String,
  shape_id shape_id: String,
  handler handler: fn(coords.LatLng) -> msg,
) -> effect.Effect(msg)

Subscribes to shape mouseout events.

pub fn on_shape_mouseover(
  id id: String,
  shape_id shape_id: String,
  handler handler: fn(coords.LatLng) -> msg,
) -> effect.Effect(msg)

Subscribes to shape mouseover events.

pub fn on_tilesloaded(
  id id: String,
  handler handler: fn() -> msg,
) -> effect.Effect(msg)

Subscribes to tiles loaded events.

pub fn on_zoom_changed(
  id id: String,
  handler handler: fn() -> msg,
) -> effect.Effect(msg)

Subscribes to zoom level changes.

pub fn on_zoom_start(
  id id: String,
  handler handler: fn() -> msg,
) -> effect.Effect(msg)

Subscribes to zoom start events.

Search Document