module TimezoneLatLon::Search

Public Instance Methods

find_timezone(lat: , lon:) click to toggle source
# File lib/timezone_lat_lon/search.rb, line 5
def find_timezone(lat: , lon:)
  factory = RGeo::Geographic.simple_mercator_factory
  point = factory.point(lon, lat)
  raw_timezone = TimezoneLatLon.loader.timezone_data.find { |sd| sd[:geometry].contains?(point) }
  return raw_timezone.nil? ? nil : TZInfo::Timezone.get(raw_timezone[:attributes]['tzid'])
end