class ESpider::Baidu::Map::API::Place

Constants

BaseUri
FIRST_PAGE_NUM
FORMAT
INFO

Public Class Methods

new(key,page_size=10,info_type=INFO[:ALL],format=FORMAT[:JSON]) click to toggle source
# File lib/espider/api/baidu/map/place.rb, line 13
def initialize(key,page_size=10,info_type=INFO[:ALL],format=FORMAT[:JSON])
        @key = key
        @page_size = page_size
        @info_type = info_type
        @format = format
end

Public Instance Methods

get_page() click to toggle source
# File lib/espider/api/baidu/map/place.rb, line 38
def get_page
        @page = HTTParty.get File.join(BaseUri + URI.escape(@params.collect{|k,v| "#{k}=#{v}"}.join('&')))
        @page.body
end
next_page() click to toggle source
# File lib/espider/api/baidu/map/place.rb, line 34
def next_page
        @params[:page_num] = @params[:page_num] + 1
        get_page
end
page_code() click to toggle source
# File lib/espider/api/baidu/map/place.rb, line 42
def page_code
        @page.code
end
search_by_city(query,region) click to toggle source

城市内检索

http://api.map.baidu.com/place/v2/search?ak=您的密钥&output=json&query=酒店&page_size=10&page_num=5&scope=2&region=北京
# File lib/espider/api/baidu/map/place.rb, line 21
def search_by_city(query,region)
        @params = {:ak=>@key,:output=>@format,:query=>query,:page_size=>@page_size,:page_num=>FIRST_PAGE_NUM,:scope=>@info_type,:region=>region}
end
search_by_rect(query,bounds) click to toggle source

矩形区域搜索 api.map.baidu.com/place/v2/search?ak=您的密钥&output=json&query=酒店&page_size=10&page_num=5&scope=2&bounds=39.915,116.404,39.975,116.414

# File lib/espider/api/baidu/map/place.rb, line 26
def search_by_rect(query,bounds)
        @params = {:ak=>@key,:output=>@format,:query=>query,:page_size=>@page_size,:page_num=>FIRST_PAGE_NUM,:scope=>@info_type,:bounds=>bounds}
end
search_by_round(query,location,radius) click to toggle source

圆形区域检索

http://api.map.baidu.com/place/v2/search?ak=您的密钥&output=json&query=酒店&page_size=10&page_num=5&scope=2&location=39.915,116.404&radius=2000
# File lib/espider/api/baidu/map/place.rb, line 31
def search_by_round(query,location,radius)
        @params = {:ak=>@key,:output=>@format,:query=>query,:page_size=>@page_size,:page_num=>FIRST_PAGE_NUM,:scope=>@info_type,:location=>location,:radius=>radius}
end
total() click to toggle source
# File lib/espider/api/baidu/map/place.rb, line 45
def total
        parsed_json = JSON.parse @page.body
        parsed_json['total']
end