查找数据库地址列的坐标

时间:2013-12-17 19:41:32

标签: ruby-on-rails-3 geocoding

我拥有自己的数据库,其中包括:addresslatlongname。 没有他们的坐标,我有我想要的所有地址。有没有办法找到坐标,以便在我的活动地图上将它们用作标记?

换句话说,我想要批量生产?!对我已经在我的数据库中的地址进行地理编码。

非常感谢

编辑:

def index
if params[:search].present?
  @locations = Location.near(params[:search], 20, :order => :distance)
else
  @locations = Location.all
  @locations.each do |l|
    if l.latitude.nil?
      new_location = "#{l.address}"
      s = Geocoder.search(new_location)
      l.latitude = s[0].latitude
      l.longitude = s[0].longitude
      l.save
    end
  end
end

这就是我所拥有的,但它只更新了我在数据库中的第一个地址。

1 个答案:

答案 0 :(得分:0)

https://github.com/apneadiving/Google-Maps-for-Rails

查看gmaps4rails gem

这是我在我的应用程序模型中使用的内容:

 acts_as_gmappable lat: 'latitude', lng: 'longitude', 
   process_geocoding: :geocode?,
   address: :full_address, 
   msg: "Sorry, not even Google could figure out where that is"

哦,这是我的geocode?方法:

def geocode?
  latitude.blank? || longitude.blank?
end

因此,当模型latitude和/或longitude为零时,gmaps4rails会自动执行查找并填写条目。