Class: Ruflet::UI::Controls::RufletComponents::MapControl

Inherits:
Control
  • Object
show all
Defined in:
lib/ruflet_ui/ruflet/ui/controls/materials/map_controls.rb

Constant Summary collapse

TYPE =
"map".freeze
WIRE =
"Map".freeze

Constants inherited from Control

Control::HOST_EXPANDED_TYPES

Instance Attribute Summary

Attributes inherited from Control

#children, #id, #props, #runtime_page, #type, #wire_id

Instance Method Summary collapse

Methods inherited from Control

#emit, generate_id, #has_handler?, #on, #to_patch

Constructor Details

#initialize(id: nil, layers: nil, initial_center: nil, initial_zoom: nil, min_zoom: nil, max_zoom: nil, interaction_configuration: nil, keep_alive: nil, bgcolor: nil, data: nil, expand: nil, height: nil, key: nil, visible: nil, width: nil, on_init: nil, on_long_press: nil, on_position_change: nil, on_secondary_tap: nil, on_tap: nil) ⇒ MapControl

Returns a new instance of MapControl.



11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# File 'lib/ruflet_ui/ruflet/ui/controls/materials/map_controls.rb', line 11

def initialize(id: nil, layers: nil, initial_center: nil, initial_zoom: nil, min_zoom: nil, max_zoom: nil, interaction_configuration: nil, keep_alive: nil, bgcolor: nil, data: nil, expand: nil, height: nil, key: nil, visible: nil, width: nil, on_init: nil, on_long_press: nil, on_position_change: nil, on_secondary_tap: nil, on_tap: nil)
  props = {}
  props[:layers] = layers unless layers.nil?
  props[:initial_center] = initial_center unless initial_center.nil?
  props[:initial_zoom] = initial_zoom unless initial_zoom.nil?
  props[:min_zoom] = min_zoom unless min_zoom.nil?
  props[:max_zoom] = max_zoom unless max_zoom.nil?
  props[:interaction_configuration] = interaction_configuration unless interaction_configuration.nil?
  props[:keep_alive] = keep_alive unless keep_alive.nil?
  props[:bgcolor] = bgcolor unless bgcolor.nil?
  props[:data] = data unless data.nil?
  props[:expand] = expand unless expand.nil?
  props[:height] = height unless height.nil?
  props[:key] = key unless key.nil?
  props[:visible] = visible unless visible.nil?
  props[:width] = width unless width.nil?
  props[:on_init] = on_init unless on_init.nil?
  props[:on_long_press] = on_long_press unless on_long_press.nil?
  props[:on_position_change] = on_position_change unless on_position_change.nil?
  props[:on_secondary_tap] = on_secondary_tap unless on_secondary_tap.nil?
  props[:on_tap] = on_tap unless on_tap.nil?
  super(type: TYPE, id: id, **props)
end

Instance Method Details

#center_on(coordinates, zoom: nil, timeout: 10, on_result: nil) ⇒ Object



35
36
37
# File 'lib/ruflet_ui/ruflet/ui/controls/materials/map_controls.rb', line 35

def center_on(coordinates, zoom: nil, timeout: 10, on_result: nil)
  invoke_map("center_on", args: compact_args("coordinates" => coordinates, "zoom" => zoom), timeout: timeout, on_result: on_result)
end

#move_to(coordinates, zoom: nil, timeout: 10, on_result: nil) ⇒ Object



39
40
41
# File 'lib/ruflet_ui/ruflet/ui/controls/materials/map_controls.rb', line 39

def move_to(coordinates, zoom: nil, timeout: 10, on_result: nil)
  invoke_map("move_to", args: compact_args("coordinates" => coordinates, "zoom" => zoom), timeout: timeout, on_result: on_result)
end

#reset_rotation(timeout: 10, on_result: nil) ⇒ Object



55
56
57
# File 'lib/ruflet_ui/ruflet/ui/controls/materials/map_controls.rb', line 55

def reset_rotation(timeout: 10, on_result: nil)
  invoke_map("reset_rotation", timeout: timeout, on_result: on_result)
end

#rotate_from(degree, timeout: 10, on_result: nil) ⇒ Object



51
52
53
# File 'lib/ruflet_ui/ruflet/ui/controls/materials/map_controls.rb', line 51

def rotate_from(degree, timeout: 10, on_result: nil)
  invoke_map("rotate_from", args: { "degree" => degree }, timeout: timeout, on_result: on_result)
end

#zoom_in(delta: nil, timeout: 10, on_result: nil) ⇒ Object



43
44
45
# File 'lib/ruflet_ui/ruflet/ui/controls/materials/map_controls.rb', line 43

def zoom_in(delta: nil, timeout: 10, on_result: nil)
  invoke_map("zoom_in", args: compact_args("delta" => delta), timeout: timeout, on_result: on_result)
end

#zoom_out(delta: nil, timeout: 10, on_result: nil) ⇒ Object



47
48
49
# File 'lib/ruflet_ui/ruflet/ui/controls/materials/map_controls.rb', line 47

def zoom_out(delta: nil, timeout: 10, on_result: nil)
  invoke_map("zoom_out", args: compact_args("delta" => delta), timeout: timeout, on_result: on_result)
end