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