2014-01-23 31 views
2

我想使用地理编码器只是返回给定经度和纬度附近的结果,我的表​​有经度和纬度列,尽管他们拼写'model'_latitude和'model'_longitude。使用Geocoder gem来只查询距离

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

这是甚至有可能与此宝石?如果没有任何更适合的建议?

编辑:

有关更多信息,这是我迄今为止。在模型类:

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

,然后我试图找到50公里内的游戏:

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

和我收到的错误是“未知列games.latitude”,所以这显然是不要试图寻找game_latitude

回答

0

geocoded_by是地址到纬度/经度。你想要reverse_geocoded_by。根本不需要任何后钩,我不认为。

就在你的游戏模式:

reverse_geocoded_by :game_latitude, :game_longitude 

请参阅本节的最后几行:

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