【问题标题】:Gecoder Add seperate values to Database for City StateGecoder 将单独的值添加到城市州的数据库
【发布时间】:2015-06-04 20:36:17
【问题描述】:

使用地理编码器 gem

谁能告诉我,如果我添加这些列,我可以让城市和州自动输入到数据库中吗?

在下面的示例中,我传入:cs,女巫是address

class Location < ActiveRecord::Base
  attr_accessible :cs, :latitude, :longitude
  geocoded_by :cs
  after_validation :geocode, :if => :cs_changed?
  has_many :shipments, :foreign_key => :origin_id
  has_many :shipments, :foreign_key => :dest_id
end

我需要保存已解析的地理编码城市和州。

或者弄清楚如何让地理编码器从数据库中给我一个特定状态组中的位置列表

我将传入数组[mo,il,ks,ar] 或字符串"mo,il,ks,ar"

我试过了:

Location.near([mo,il,ks,ar])

我可以这样做:

Location.near("springfield, mo", 20)

【问题讨论】:

    标签: ruby-on-rails-3 location geocode


    【解决方案1】:

    经过大量研究后我发现我添加了“城市”和“州”列并这样做了:

    实际工作代码:这将从结果中添加城市和州...

    class Location < ActiveRecord::Base
      attr_accessible :cs, :latitude, :longitude, :city, :state
    
      after_validation :geocode, :if => :cs_changed?
      has_many :shipments, :foreign_key => :origin_id
      has_many :shipments, :foreign_key => :dest_id
    
      geocoded_by :cs do |obj, results|
        geo = results.first
        if geo
          obj.latitude = geo.latitude
          obj.longitude = geo.longitude
          obj.city  = geo.city
          obj.state = geo.state_code
        end
      end
    end
    

    还想说我的输入字段正在使用 GeoComplete Gem,它在到达此处之前会提供有效的City, St, Country 组合,因此应该能够找到正确的位置

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-03-23
      • 1970-01-01
      • 2020-02-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-23
      相关资源
      最近更新 更多