在ror中,假设我的数据库中有一个地理参考数据列表 (每个记录都有纬度和经度列)实现搜索远距离功能的最佳方法是什么?
我知道红宝石的geokit。但我正在寻找其他建议。 如果它是依赖于平台的,我计划使用heroku作为部署平台。
答案 0 :(得分:1)
答案 1 :(得分:1)
使用gem Geocoder。
中所述Geocoder是Ruby的完整地理编码解决方案。随着Rails的增加 地理编码(通过街道或IP地址),反向地理编码(找街道 基于给定坐标的地址)和距离查询。就是这样 就像在对象上调用地理编码一样简单,然后使用像这样的范围 Venue.near(“Billings,MT”)。
使用地理编码对象,您可以执行以下操作:
if obj.geocoded?
obj.nearbys(30) # other objects within 30 miles
obj.distance_from([40.714,-100.234]) # distance from arbitrary point to object
obj.bearing_to("Paris, France") # direction from object to arbitrary point
end