class Avo::Fields::AreaField
def coordinates
def coordinates value.present? ? JSON.parse(value) : [] end
def geometry
def geometry @geometry.to_s.classify end
def initialize(id, **args, &block)
def initialize(id, **args, &block) hide_on :index super(id, **args, &block) @geometry = args[:geometry].presence || :polygon # Accepts: `:polygon` or `:multi_polygon` @mapkick_options = args[:mapkick_options].presence || {} @datapoint_options = args[:datapoint_options].presence || {} end
def map_data
def map_data data_source = { geometry: { type: @geometry.to_s.classify, coordinates: value } } [data_source.merge(datapoint_options)] end