Class: ESpider::Baidu::Map::API::Place
- Inherits:
-
Object
- Object
- ESpider::Baidu::Map::API::Place
- Defined in:
- lib/espider/api/baidu/map/place.rb
Constant Summary collapse
- FORMAT =
{:JSON=>'json',:XML=>'xml'}
- INFO =
{:ALL=>2,:BASIC=>1}
- FIRST_PAGE_NUM =
-1
- BaseUri =
"http://api.map.baidu.com/place/v2/search?"
Instance Method Summary collapse
- #get_page ⇒ Object
-
#initialize(key, page_size = 10, info_type = INFO[:ALL], format = FORMAT[:JSON]) ⇒ Place
constructor
A new instance of Place.
- #next_page ⇒ Object
- #page_code ⇒ Object
-
#search_by_city(query, region) ⇒ Object
城市内检索 api.map.baidu.com/place/v2/search?ak=您的密钥&output=json&query=酒店&page_size=10&page_num=5&scope=2®ion=北京.
-
#search_by_rect(query, bounds) ⇒ Object
矩形区域搜索 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.
-
#search_by_round(query, location, radius) ⇒ Object
圆形区域检索 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.
- #total ⇒ Object
Constructor Details
#initialize(key, page_size = 10, info_type = INFO[:ALL], format = FORMAT[:JSON]) ⇒ Place
Returns a new instance of Place.
13 14 15 16 17 18 |
# 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 |
Instance Method Details
#get_page ⇒ Object
38 39 40 41 |
# 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 ⇒ Object
34 35 36 37 |
# 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 ⇒ Object
42 43 44 |
# File 'lib/espider/api/baidu/map/place.rb', line 42 def page_code @page.code end |
#search_by_city(query, region) ⇒ Object
城市内检索api.map.baidu.com/place/v2/search?ak=您的密钥&output=json&query=酒店&page_size=10&page_num=5&scope=2®ion=北京
21 22 23 |
# 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) ⇒ Object
矩形区域搜索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
26 27 28 |
# 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) ⇒ Object
圆形区域检索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
31 32 33 |
# 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 ⇒ Object
45 46 47 48 |
# File 'lib/espider/api/baidu/map/place.rb', line 45 def total parsed_json = JSON.parse @page.body parsed_json['total'] end |