使用Geocoder gem只查询距离

时间:2014-01-23 00:39:12

标签: ruby-on-rails rails-geocoder

我正在尝试使用Geocoder简单地返回给定纬度和经度附近的结果,我的表​​有纬度和经度列,尽管它们拼写为'model'_latitude和'model'_longitude。

我不需要对对象进行地理编码,因为我不使用地址,纬度和经度在创建时通过参数存储,我想使用near方法检索结果。

这个宝石有可能吗?如果没有更合适的建议?

编辑:

有关更多信息,这是我到目前为止所拥有的。在模型类中:

geocoded_by :latitude  => :game_latitude, :longitude => :game_longitude
after_validation :geocode

然后我试图在50公里范围内找到游戏:

Game.near([latitude, longitude], 50, :units => :km)

我收到的错误是'Unknown column games.latitude'所以显然不是在寻找game_latitude

1 个答案:

答案 0 :(得分:0)

geocoded_by用于lat / lon的地址。你想要reverse_geocoded_by。根本不需要任何后钩,我不认为。

在你的游戏模型中就是这样:

reverse_geocoded_by :game_latitude, :game_longitude

见本节的最后几行:

https://github.com/alexreisner/geocoder#activerecord