class Geon::WikimapiaApi
Public Class Methods
new(downloader, service_key, param = {})
click to toggle source
@param [Geon::HttpLoader] downloader @param [String] service_key @param [Hash] param
# File lib/geon/wikimapia_api.rb, line 11 def initialize(downloader, service_key, param = {}) @downloader, @service_key = downloader, service_key @general_param = { key: @service_key, format: 'json' }.merge(param) end
Public Instance Methods
api_getlanguages()
click to toggle source
# File lib/geon/wikimapia_api.rb, line 53 def api_getlanguages request 'api.getlanguages' end
category_getall(page = 1, count = 50)
click to toggle source
50 categories by page
# File lib/geon/wikimapia_api.rb, line 49 def category_getall(page = 1, count = 50) request 'category.getall', {page: page, count: count} end
category_getbyid(id)
click to toggle source
# File lib/geon/wikimapia_api.rb, line 44 def category_getbyid(id) request 'category.getbyid', {id: id} end
place_getbyarea(lon_min, lat_min, lon_max, lat_max)
click to toggle source
# File lib/geon/wikimapia_api.rb, line 36 def place_getbyarea(lon_min, lat_min, lon_max, lat_max) request 'place.getbyarea', {lon_min: lon_min, lat_min: lat_min, lon_max: lon_max, lat_max: lat_max} end
place_getbyid(id)
click to toggle source
# File lib/geon/wikimapia_api.rb, line 32 def place_getbyid(id) request 'place.getbyid', {id: id} end
place_getnearest(lat, lon)
click to toggle source
@example place_getnearest
(55.753141,37.625299) Red square
# File lib/geon/wikimapia_api.rb, line 24 def place_getnearest(lat, lon) request 'place.getnearest', {lat: lat, lon: lon} end
place_search(q)
click to toggle source
# File lib/geon/wikimapia_api.rb, line 28 def place_search(q) request 'place.search', {q: q} end
street_getbyid(id)
click to toggle source
# File lib/geon/wikimapia_api.rb, line 40 def street_getbyid(id) request 'street.getbyid', {id: id} end
Protected Instance Methods
check_response(response)
click to toggle source
# File lib/geon/wikimapia_api.rb, line 71 def check_response(response) if response['debug'] && response['debug']['code'] case response['debug']['code'].to_i when 1000 raise InvalidKeyError else raise WikimapiaError.new(response['debug']['message']) if response['debug']['message'] raise WikimapiaError.new('Wikimapia: unknown error') end end end
request(function, local_param = {})
click to toggle source
# File lib/geon/wikimapia_api.rb, line 60 def request(function, local_param = {}) param = @general_param.merge local_param param[:function] = function response = @downloader.get '/', param result = JSON.parse(CGI::unescape response) check_response(result) result end