我有以下问题。
考虑具有属性的2个模型:
Place
- lat
- lng
- range
User
- lat
- lng
地点有位置和一些范围(将其视为运输区域)。用户有自己的位置。
我使用Geocoder进行地理定位(我也可以使用Geokit)。我可以计算到物体的距离(类似于object.distance_to([lat,lng])
现在,我想选择范围包括我的位置的所有地方。在更高层次:我想知道,哪些地方为我的位置提供运输。
当我在寻找给定范围内的对象集合时,它会更容易。但是,我需要一些“逆转”的东西,而另一方则需要。
我应该写什么方法/范围?也许Geocoder / Geokit已经为我做了什么?
答案 0 :(得分:2)
最后我没有在宝石中找到任何东西,但我写了以下方法
class User < ActiveRecord::Base
#...
def in_reach?(place)
place.distance_to([lat,lng]) <= place.range
end
end