我有一个带有地理编码器 gem 的 rails 3 应用程序。当用户在我的网站上创建帐户时,他会给我他的地址。使用地理编码器,我将他的 lat 和 lng 存储在我的数据库中,这样我就可以将他放在谷歌地图中。
当用户进行搜索时,他必须找到离他最近的用户。
目前,我使用地理编码器计算半径以在其中找到用户:
bounds_calc = Geocoder::Calculations.bounding_box(center, radius, units: :km)
users = User.where('? < addresses.lat AND addresses.lat < ?', bounds_calc[0], bounds_calc[2]).where('? < addresses.lng AND addresses.lng < ?', bounds_calc[1], bounds_calc[3])
我想做的是users
从最近到最远的排序。有简单的方法吗?