Module: BaiduApi::Geocoding
- Extended by:
- Geocoding
- Included in:
- Geocoding
- Defined in:
- lib/baidu_api/geocoding.rb,
lib/baidu_api/geocoding/version.rb,
lib/baidu_api/geocoding/v2/geocoder.rb,
lib/baidu_api/geocoding/configuration.rb
Defined Under Namespace
Modules: V2
Classes: Configuration
Constant Summary
collapse
- VERSION =
"0.0.1"
Instance Method Summary
collapse
Instance Method Details
#config ⇒ Object
19
20
21
|
# File 'lib/baidu_api/geocoding.rb', line 19
def config
@@config || fail(ArgumentError, 'Please setup API with BaiduApi::Geocoding.setup(options) before starting!')
end
|
#fetch_option(options, key) ⇒ Object
37
38
39
|
# File 'lib/baidu_api/geocoding.rb', line 37
def fetch_option(options, key)
options.fetch(key.intern) { options.fetch(key.to_s, config[key]) }
end
|
#fetch_options(options) ⇒ Object
30
31
32
33
34
35
|
# File 'lib/baidu_api/geocoding.rb', line 30
def fetch_options(options)
%w(ak sk version).inject({}) do |ret, item|
ret[item.intern] = fetch_option(options, item)
ret
end
end
|
#geocode(address, options = {}) ⇒ Object
23
24
25
26
27
28
|
# File 'lib/baidu_api/geocoding.rb', line 23
def geocode(address, options = {})
options = fetch_options(options)
version = options.delete(:version).upcase
geocoder = Object.const_get("BaiduApi::Geocoding::#{version}::Geocoder") rescue fail(ArgumentError, "API version #{version} doesn't exist!")
geocoder.geocode(address, options)
end
|
#setup(options = {}) {|@@config| ... } ⇒ Object
options:
:ak
:sk
:output default: json
:version default: v2
14
15
16
17
|
# File 'lib/baidu_api/geocoding.rb', line 14
def setup(options = {})
@@config = BaiduApi::Geocoding::Configuration.new(options)
yield @@config if block_given?
end
|