class Geocoder::Result::Yandex

Public Instance Methods

address(format = :full) click to toggle source
# File lib/geocoder/results/yandex.rb, line 10
def address(format = :full)
  @data['GeoObject']['metaDataProperty']['GeocoderMetaData']['text']
end
city() click to toggle source
# File lib/geocoder/results/yandex.rb, line 14
def city
  if state.empty? and address_details and address_details.has_key? 'Locality'
    address_details['Locality']['LocalityName']
  elsif sub_state.empty? and address_details and address_details.has_key? 'AdministrativeArea' and
      address_details['AdministrativeArea'].has_key? 'Locality'
    address_details['AdministrativeArea']['Locality']['LocalityName']
  elsif not sub_state_city.empty?
    sub_state_city
  else
    ""
  end
end
coordinates() click to toggle source
# File lib/geocoder/results/yandex.rb, line 6
def coordinates
  @data['GeoObject']['Point']['pos'].split(' ').reverse.map(&:to_f)
end
country() click to toggle source
# File lib/geocoder/results/yandex.rb, line 27
def country
  if address_details
    address_details['CountryName']
  else
    ""
  end
end
country_code() click to toggle source
# File lib/geocoder/results/yandex.rb, line 35
def country_code
  if address_details
    address_details['CountryNameCode']
  else
    ""
  end
end
kind() click to toggle source
# File lib/geocoder/results/yandex.rb, line 79
def kind
  @data['GeoObject']['metaDataProperty']['GeocoderMetaData']['kind']
end
postal_code() click to toggle source
# File lib/geocoder/results/yandex.rb, line 63
def postal_code
  ""
end
precision() click to toggle source
# File lib/geocoder/results/yandex.rb, line 83
def precision
  @data['GeoObject']['metaDataProperty']['GeocoderMetaData']['precision']
end
premise_name() click to toggle source
# File lib/geocoder/results/yandex.rb, line 67
def premise_name
  address_details['Locality']['Premise']['PremiseName']
end
state() click to toggle source
# File lib/geocoder/results/yandex.rb, line 43
def state
  if address_details and address_details['AdministrativeArea']
    address_details['AdministrativeArea']['AdministrativeAreaName']
  else
    ""
  end
end
state_code() click to toggle source
# File lib/geocoder/results/yandex.rb, line 59
def state_code
  ""
end
street() click to toggle source
# File lib/geocoder/results/yandex.rb, line 71
def street
  thoroughfare_data && thoroughfare_data['ThoroughfareName']
end
street_number() click to toggle source
# File lib/geocoder/results/yandex.rb, line 75
def street_number
  thoroughfare_data && thoroughfare_data['Premise'] && thoroughfare_data['Premise']['PremiseNumber']
end
sub_state() click to toggle source
# File lib/geocoder/results/yandex.rb, line 51
def sub_state
  if !state.empty? and address_details and address_details['AdministrativeArea']['SubAdministrativeArea']
    address_details['AdministrativeArea']['SubAdministrativeArea']['SubAdministrativeAreaName']
  else
    ""
  end
end
viewport() click to toggle source
# File lib/geocoder/results/yandex.rb, line 87
def viewport
  envelope = @data['GeoObject']['boundedBy']['Envelope'] || fail
  east, north = envelope['upperCorner'].split(' ').map(&:to_f)
  west, south = envelope['lowerCorner'].split(' ').map(&:to_f)
  [south, west, north, east]
end