使用 Ruby 地理编码器按距离排序而不使用 near 方法
Order by Distance without near method using Ruby geocoder
有没有办法不限制到目标位置的距离,只按距离排序?
我目前正在做这样的事情:
@positions = Position.near(@user_position.coordinates, 999999).order(:distance).paginate(page: params[:page])
但是作为一个程序员,用这样的东西感觉不太对。
如果有这样的东西就好了:
@positions = Position.near(@user_position.coordinates, :no_limit).order(:distance).paginate(page: params[:page])
我希望有人能帮助我。
它并不像看起来那样对程序员不友好。例如,如果您使用过 C,就会知道 int
的范围没有确切的定义。即使是Java,尺寸再精确,也是有限制的,不要忘了。
如果您希望查询更具可读性,请定义 NO_LIMIT = 999999
常量并使用它代替 :no_limit
。
geocoder
的创建者在 similar issue 上有一个回答:
I think your best bet is to use a very large radius.
所以可能没有办法解决它。
有没有办法不限制到目标位置的距离,只按距离排序?
我目前正在做这样的事情:
@positions = Position.near(@user_position.coordinates, 999999).order(:distance).paginate(page: params[:page])
但是作为一个程序员,用这样的东西感觉不太对。
如果有这样的东西就好了:
@positions = Position.near(@user_position.coordinates, :no_limit).order(:distance).paginate(page: params[:page])
我希望有人能帮助我。
它并不像看起来那样对程序员不友好。例如,如果您使用过 C,就会知道 int
的范围没有确切的定义。即使是Java,尺寸再精确,也是有限制的,不要忘了。
如果您希望查询更具可读性,请定义 NO_LIMIT = 999999
常量并使用它代替 :no_limit
。
geocoder
的创建者在 similar issue 上有一个回答:
I think your best bet is to use a very large radius.
所以可能没有办法解决它。