我寫了一個blog解釋它是如何工作的。您需要進行地理編碼並從geocoder
gem獲取相關信息。
用戶將使用Geocomplete輸入地址並將該地址存儲在用戶/位置表中的地址列中 然後,使用Geocoder獲取其他地理信息並使用地址更新其他列。
這裏去................
================用戶/地點表,在這裏我將使用允許用戶使用Geocomplete填寫地址,然後用它利用地理編碼
class CreateLocations < ActiveRecord::Migration
def change
create_table :places do |t|
t.string :address
t.float :latitude
t.float :longitude
##======here the address field is important==========
t.string :address
t.string :country
t.string :state
t.string :city
t.string :pincode
t.timestamps
end
add_index :places, :address
end
end
得到其他細節================= =在用戶/位置模型中使用地址自動填充的地理編碼
##i want to use the address column to autopopulate others columns
geocoded_by :address
##also i want to use the latitude.longitude to fetch all others informations and then save in relevant ##feilds
reverse_geocoded_by :latitude, :longitude do |obj,results|
if geo = results.first
obj.state = geo.state
obj.city = geo.city
obj.pincode = geo.postal_code
obj.country = geo.country
end
end
##變/更新/驗證地址只有地址變更爲其他性能改進每次##時間會不斷更新
after_validation :geocode, :reverse_geocode ,:if => :address_changed?
感謝,這正是我需要的 – Adt 2015-03-31 13:10:39