0
我使用的是geocoder gem
爲了設置從地址longitude
和latitude
:Rails的地理編碼器的寶石顯示結果
class Ub < ApplicationRecord
geocoded_by :full_address
after_validation :geocode, if: ->(obj){ obj.full_address.present? }
def full_address
[street, city, state, zip_code, country].join(",")
end
end
末搜索:
class SearchController < ApplicationController
def search
if params[:search].present?
location_info = request.location
@ubs = Ub.near([location_info.latitude, location_info.longitude], 5, :order => :distance)
else
@ubs = []
end
end
感謝您的答覆@布賴恩。分別回答您的問題,一對夫婦項的值是:'緯度:39.6471643,經度:-75.6857385'。 'location_info = request.location'假設根據ip返回用戶的當前位置。還有一點,我用'rails server -b 0.0.0.0'來啓動服務器。我的問題是,爲什麼它沒有重新調整任何結果?以及我如何測試這個看看它是否工作? – Dev
我,如果你用'LOCATION_INFO = 39.6471643,-75.6857385]'你會看到一些成果代替'LOCATION_INFO = request.location'想象。你沒有看到任何結果,因爲你問的是緯度0,經度0,這是在海洋離非洲海岸5英里範圍內的項目。 – Brian