Class: Geocoder::Result::Baidu

Inherits:
Base
  • Object
show all
Defined in:
lib/geocoder/results/baidu.rb

Instance Attribute Summary

Attributes inherited from Base

#cache_hit, #data

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Base

#initialize, #latitude, #longitude, #province_code

Constructor Details

This class inherits a constructor from Geocoder::Result::Base

Class Method Details

.response_attributesObject

Get address components of a given type. Valid types are defined in Baidu’s Geocoding API documentation and include (among others):

:business
:cityCode


69
70
71
# File 'lib/geocoder/results/baidu.rb', line 69

def self.response_attributes
  %w[business cityCode]
end

Instance Method Details

#address_componentsObject



42
43
44
# File 'lib/geocoder/results/baidu.rb', line 42

def address_components
  @data['addressComponent']
end

#cityObject



20
21
22
# File 'lib/geocoder/results/baidu.rb', line 20

def city
  @data['addressComponent'] and @data['addressComponent']['city'] or ""
end

#coordinatesObject



6
7
8
# File 'lib/geocoder/results/baidu.rb', line 6

def coordinates
  ['lat', 'lng'].map{ |i| @data['location'][i] }
end

#countryObject



54
55
56
# File 'lib/geocoder/results/baidu.rb', line 54

def country
  "China"
end

#country_codeObject



58
59
60
# File 'lib/geocoder/results/baidu.rb', line 58

def country_code
  "CN"
end

#districtObject



24
25
26
# File 'lib/geocoder/results/baidu.rb', line 24

def district
  @data['addressComponent'] and @data['addressComponent']['district'] or ""
end

#formatted_addressObject Also known as: address



36
37
38
# File 'lib/geocoder/results/baidu.rb', line 36

def formatted_address
  @data['formatted_address'] or ""
end

#postal_codeObject



50
51
52
# File 'lib/geocoder/results/baidu.rb', line 50

def postal_code
  ""
end

#provinceObject Also known as: state



14
15
16
# File 'lib/geocoder/results/baidu.rb', line 14

def province
  @data['addressComponent'] and @data['addressComponent']['province'] or ""
end

#state_codeObject



46
47
48
# File 'lib/geocoder/results/baidu.rb', line 46

def state_code
  ""
end

#streetObject



28
29
30
# File 'lib/geocoder/results/baidu.rb', line 28

def street
  @data['addressComponent'] and @data['addressComponent']['street'] or ""
end

#street_numberObject



32
33
34
# File 'lib/geocoder/results/baidu.rb', line 32

def street_number
  @data['addressComponent'] and @data['addressComponent']['street_number']
end