在Geokit/Geocoder中计算距离和范围



我有以下问题。

考虑两个带有属性的模型:

Place
- lat
- lng
- range
User
- lat
- lng

地点有位置和一些范围定义(把它想象成运输区域)。用户有自己的位置

我使用Geocoder进行地理定位(我也可以使用Geokit)。我可以计算到对象的距离(如object.distance_to([lat,lng])

现在,我想选择范围包括我所在位置的所有位置。在更高的层次上:我想知道,哪些地方为我的位置提供运输。

当我在给定范围内寻找对象的集合时,这更容易。然而,我需要一些"相反"的东西,从另一个角度来看的东西。

我应该写什么方法/范围?也许Geocoder/Geokit已经为我提供了一些东西?

最后我在gems中没有找到任何东西,但我写了以下方法

class User < ActiveRecord::Base
  #...  
  def in_reach?(place)
    place.distance_to([lat,lng]) <= place.range
  end 
end

相关内容

  • 没有找到相关文章

最新更新