我想为用户找到贴近的位置。 用户表 拥有纬度和经度。
地理位置表 拥有纬度和经度。此外,位置还具有 radius 属性。我想为用户找到位置,即用户位于特定半径范围内的这些位置。我不能Location.near([user.latitude, user.longitude], radius)
,因为所有位置都有不同的半径。
我也不能Location.all.to_a.select {|l| u.distance_from([l. latitude, l. longitude]) < l.radius}
,因为它效率低下。它必须放在主页面中。现在我有大约1k个位置和1k用户。
我怎样才能做到这一点?我使用宝石地理编码器,但我可以使用别的东西。