Module: TimezoneLatLon::Search

Included in:
TimezoneLatLon
Defined in:
lib/timezone_lat_lon/search.rb

Instance Method Summary collapse

Instance Method Details

#find_timezone(lat:, lon:) ⇒ Object



5
6
7
8
9
10
# 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