class GeoPlaceSearch
Public Class Methods
palce_lat_and_log(postal_code)
click to toggle source
# File lib/geo_place_search.rb, line 22 def self.palce_lat_and_log(postal_code) position = [] uri = URI.parse("http://maps.googleapis.com/maps/api/geocode/json?components=postal_code:"+"#{postal_code}"+"&sensor=false") http = Net::HTTP.new(uri.host, 443) http.use_ssl = true request = Net::HTTP::Get.new(uri.request_uri) @response = http.request(request) places = JSON.parse(@response.body) place = places["results"].first latitude = place["geometry"]["location"]["lat"] position << latitude longitude = place["geometry"]["location"]["lng"] position << longitude position end
search_places(keyword, api_key)
click to toggle source
# File lib/geo_place_search.rb, line 6 def self.search_places(keyword, api_key) parse_json('https://maps.googleapis.com/maps/api/place/textsearch/json?query=#{keyword}&key=#{api_key}') uri = URI.parse("https://maps.googleapis.com/maps/api/place/textsearch/json?query=#{keyword}&key=#{api_key}") http = Net::HTTP.new(uri.host, uri.port) http.use_ssl = true request = Net::HTTP::Get.new(uri.request_uri) @response = http.request(request) places = JSON.parse(@response.body) search_results = [] places["results"].each do |p| search_results << p end search_results end
search_places_around_zip(postal_code, keyword, api_key, radius=50000)
click to toggle source
# File lib/geo_place_search.rb, line 39 def self.search_places_around_zip(postal_code, keyword, api_key, radius=50000) pos = self.palce_lat_and_log(postal_code) latitude = pos.first longitude = pos.last uri = URI.parse("https://maps.googleapis.com/maps/api/place/nearbysearch/json?location=#{latitude},#{longitude}&radius=#{radius}&keyword=#{keyword}&key=#{api_key}") http = Net::HTTP.new(uri.host, uri.port) http.use_ssl = true request = Net::HTTP::Get.new(uri.request_uri) @response = http.request(request) places = JSON.parse(@response.body) search_results = [] places["results"].each do |p| search_results << p end search_results end
Private Instance Methods
parse_json(api)
click to toggle source
# File lib/geo_place_search.rb, line 59 def parse_json(api) uri = URI.parse(api) http = Net::HTTP.new(uri.host, uri.port) http.use_ssl = true request = Net::HTTP::Get.new(uri.request_uri) @response = http.request(request) end