【问题标题】:Using Geocoder gem to only query distance使用 Geocoder gem 仅查询距离
【发布时间】:2014-01-23 00:39:12
【问题描述】:

我正在尝试使用 Geocoder 来简单地返回给定纬度和经度附近的结果,我的表​​有纬度和经度列,尽管它们拼写为 'model'_latitude 和 'model'_longitude。

我不需要对对象进行地理编码,因为我不使用地址,纬度和经度在创建时通过参数存储,我想使用 near 方法检索结果。

这颗宝石甚至可以吗?如果没有更合适的建议?

编辑:

要了解更多信息,这就是我目前所拥有的。在模型类中:

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

然后我试图找到 50 公里内的游戏:

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

我收到的错误是“未知列 games.latitude”,所以它显然不是在尝试寻找 game_latitude

【问题讨论】:

    标签: ruby-on-rails rails-geocoder


    【解决方案1】:

    geocoded_by 是用于纬度/经度的地址。你想要reverse_geocoded_by。我认为根本不需要任何后钩。

    就在你的游戏模型中:

    reverse_geocoded_by :game_latitude, :game_longitude
    

    请参阅本节的最后几行:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-03-12
      • 1970-01-01
      • 1970-01-01
      • 2015-04-17
      • 2011-09-28
      • 1970-01-01
      相关资源
      最近更新 更多