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