Geokit/Geocoder 中的距离和范围计算
Posted
技术标签:
【中文标题】Geokit/Geocoder 中的距离和范围计算【英文标题】:Distance and range calculation in Geokit/Geocoder 【发布时间】:2011-07-05 15:17:46 【问题描述】:我有以下问题。
考虑 2 个具有属性的模型:
Place
- lat
- lng
- range
User
- lat
- lng
地点已定义位置和范围(将其视为运输区域)。用户有自己的位置。
我使用 Geocoder 进行地理定位(我也可以使用 Geokit)。我可以计算到对象的距离(类似于 object.distance_to([lat,lng])
现在,我想选择范围包括我的位置的所有地点。在更高级别:我想知道,哪些地方为我的位置提供运输服务。
当我在寻找给定范围内的对象集合时会更容易。但是我需要一些“反转”的东西,来自另一边的东西。
我应该写什么方法/范围?也许 Geocoder/Geokit 已经为我准备好了一些东西?
【问题讨论】:
【参考方案1】:最后我没有在 gems 中找到任何东西,但我写了以下方法
class User < ActiveRecord::Base
#...
def in_reach?(place)
place.distance_to([lat,lng]) <= place.range
end
end
【讨论】:
以上是关于Geokit/Geocoder 中的距离和范围计算的主要内容,如果未能解决你的问题,请参考以下文章