2014-01-23 2 views
2

Geocoder를 사용하여 주어진 위도와 경도 근처에서 결과를 단순히 반환하려고합니다. 'model'_latitude 및'model'_longitude의 철자가 있지만 위도 및 경도 열이 있습니다.Geocoder gem을 사용하여 거리 만 쿼리하기

주소를 사용하지 않기 때문에 객체를 지오 코딩 할 필요가 없습니다. 작성시 매개 변수를 통해 위도와 경도가 저장되므로 near 메소드를 사용하여 결과를 검색하고 싶습니다.

이 보석으로도 가능합니까? 더 적합한 것에 대한 제안이 없다면?

편집 : 좀 더 정보에 대한

, 이것은 내가 지금까지있는 것입니다. 모델 클래스에서 :

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

하고 내가 가진 50km 내에서 게임을 찾기 위해 노력하고 있습니다 : 그것은 분명히 그래서

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

내가 받고있어 오류 것은 '알 수없는 열 games.latitude'입니다 게임을 찾지 않으려면 _latitude

답변

0

geocoded_by은 위도/경도를 나타냅니다. reverse_geocoded_by을 원합니다. 애프터 마개가 필요 없다고 생각합니다.

그냥이 게임의 모델 :

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

:

reverse_geocoded_by :game_latitude, :game_longitude 

이 섹션의 마지막 행을 참조하십시오