lustre_kakaomap/drawing

Drawing tools for KakaoMap (DrawingManager).

Provides drawing mode for creating shapes interactively on the map. Requires &libraries=drawing in the SDK script tag.

Types

Options for creating a DrawingManager.

pub opaque type DrawingOption

Drawing overlay types.

pub type OverlayType {
  DrawMarker
  DrawPolyline
  DrawArrow
  DrawRectangle
  DrawCircle
  DrawEllipse
  DrawPolygon
}

Constructors

  • DrawMarker
  • DrawPolyline
  • DrawArrow
  • DrawRectangle
  • DrawCircle
  • DrawEllipse
  • DrawPolygon

Values

pub fn cancel(
  map_id map_id: String,
  drawing_id drawing_id: String,
) -> effect.Effect(msg)

Cancels the current drawing.

pub fn destroy(
  map_id map_id: String,
  drawing_id drawing_id: String,
) -> effect.Effect(msg)

Destroys a DrawingManager.

pub fn draggable(enabled: Bool) -> DrawingOption

Makes drawn shapes draggable.

pub fn editable(enabled: Bool) -> DrawingOption

Makes drawn shapes editable.

pub fn fill_color(color: String) -> DrawingOption

Sets the default fill color.

pub fn fill_opacity(opacity: Float) -> DrawingOption

Sets the default fill opacity.

pub fn get_data(
  map_id map_id: String,
  drawing_id drawing_id: String,
  handler handler: fn(String) -> msg,
) -> effect.Effect(msg)

Gets the drawing data as a JSON string for all drawn overlays.

pub fn get_redoable(
  map_id map_id: String,
  drawing_id drawing_id: String,
  handler handler: fn(Bool) -> msg,
) -> effect.Effect(msg)

Checks if redo is possible.

pub fn get_undoable(
  map_id map_id: String,
  drawing_id drawing_id: String,
  handler handler: fn(Bool) -> msg,
) -> effect.Effect(msg)

Checks if undo is possible.

pub fn init(
  map_id map_id: String,
  drawing_id drawing_id: String,
  modes modes: List(OverlayType),
  options opts: List(DrawingOption),
) -> effect.Effect(msg)

Creates a DrawingManager on the map. Specify which overlay types to enable as a list.

drawing.init(
  map_id: "mymap",
  drawing_id: "draw1",
  modes: [drawing.DrawPolyline, drawing.DrawPolygon, drawing.DrawCircle],
  options: [drawing.stroke_color("#FF0000"), drawing.removable(True)],
)
pub fn on_drawend(
  map_id map_id: String,
  drawing_id drawing_id: String,
  handler handler: fn(String) -> msg,
) -> effect.Effect(msg)

Subscribes to draw end events.

pub fn on_state_changed(
  map_id map_id: String,
  drawing_id drawing_id: String,
  handler handler: fn() -> msg,
) -> effect.Effect(msg)

Subscribes to state change events (draw/edit/move/delete/undo/redo).

pub fn redo(
  map_id map_id: String,
  drawing_id drawing_id: String,
) -> effect.Effect(msg)

Redoes after undo.

pub fn removable(enabled: Bool) -> DrawingOption

Shows remove button on drawn shapes.

pub fn select(
  map_id map_id: String,
  drawing_id drawing_id: String,
  mode mode: OverlayType,
) -> effect.Effect(msg)

Selects a drawing mode.

pub fn stroke_color(color: String) -> DrawingOption

Sets the default stroke color for drawn shapes.

pub fn stroke_weight(weight: Int) -> DrawingOption

Sets the default stroke weight.

pub fn undo(
  map_id map_id: String,
  drawing_id drawing_id: String,
) -> effect.Effect(msg)

Undoes the last drawing action.

Search Document