class Google::Maps::DistanceMatrix

Attributes

from[RW]
options[RW]
to[RW]

Public Class Methods

new(from, to, options = {}) click to toggle source
# File lib/google_maps/distance_matrix.rb, line 10
def initialize(from, to, options = {})
  options = { language: options } unless options.is_a? Hash
  @from = from
  @to = to
  @options = { language: :en }.merge(options)
end

Public Instance Methods

distance() click to toggle source
# File lib/google_maps/distance_matrix.rb, line 17
def distance
  element.distance.value
end
duration() click to toggle source
# File lib/google_maps/distance_matrix.rb, line 21
def duration
  element.duration.value
end

Private Instance Methods

distance_matrix() click to toggle source
# File lib/google_maps/distance_matrix.rb, line 35
def distance_matrix
  @distance_matrix ||= API.query(:distance_matrix_service, @options.merge(origins: from, destinations: to))
end
element() click to toggle source
# File lib/google_maps/distance_matrix.rb, line 27
def element
  element = distance_matrix.rows.first.elements.first

  raise Google::Maps::ZeroResultsException if element.status == 'NOT_FOUND'

  element
end