我拥有自己的数据库,其中包括:address
,lat
,long
,name
。
没有他们的坐标,我有我想要的所有地址。有没有办法找到坐标,以便在我的活动地图上将它们用作标记?
换句话说,我想要批量生产?!对我已经在我的数据库中的地址进行地理编码。
非常感谢
编辑:
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
这就是我所拥有的,但它只更新了我在数据库中的第一个地址。
答案 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会自动执行查找并填写条目。