2014-01-23 41 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