Sha256: c64b427713ccc4c1c998a8a1d3393b9dcf70c2edbdae9c94a4e88e1e253c6d70

Contents?: true

Size: 1.4 KB

Versions: 2

Compression:

Stored size: 1.4 KB

Contents

require 'date'

module GoogleMapsApis::Services

  # Performs requests to the Google Maps TimeZone API."""
  module TimeZone

    # Get time zone for a location on the earth, as well as that location's
    # time offset from UTC.
    #
    # @example Current time zone
    #   timezone = client.timezone([39.603481, -119.682251])
    #
    # @example Time zone at certain time
    #   timezone = client.timezone([39.603481, -119.682251], timestamp: Time.at(1608))
    #
    # @param [Hash, Array] location The latitude/longitude value representing the location to
    #     look up.
    # @param [Integer, DateTime] timestamp Timestamp specifies the desired time as seconds since
    #     midnight, January 1, 1970 UTC. The Time Zone API uses the timestamp to
    #     determine whether or not Daylight Savings should be applied. Times
    #     before 1970 can be expressed as negative values. Optional. Defaults to
    #     `Time.now`.
    # @param [String] language The language in which to return results.
    #
    # @return [Hash] Time zone object.
    def timezone(location, timestamp: Time.now, language: nil)
      location = GoogleMapsApis::Convert.latlng(location)
      timestamp = GoogleMapsApis::Convert.time(timestamp)

      params = {
        location: location,
        timestamp: timestamp
      }

      params[:language] = language if language

      return get('/maps/api/timezone/json', params)
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
google_maps_apis-1.0.1 lib/google_maps_apis/services/time_zone.rb
google_maps_apis-1.0.0 lib/google_maps_apis/services/time_zone.rb