Ruby on rails rails地理编码器AlexerReisner自动添加用户位置
嗨,我目前正在使用Alexereisner geocoder,我需要调整它,以便用户不必在表单中添加地址、纬度和经度,但当他们提交表单时,它将自动填充,他们不必添加地址、纬度和经度 是否可以自动执行此操作?是否安全?如何做到这一点 这是我目前拥有并正在使用的数据库Ruby on rails rails地理编码器AlexerReisner自动添加用户位置,ruby-on-rails,geolocation,rails-geocoder,Ruby On Rails,Geolocation,Rails Geocoder,嗨,我目前正在使用Alexereisner geocoder,我需要调整它,以便用户不必在表单中添加地址、纬度和经度,但当他们提交表单时,它将自动填充,他们不必添加地址、纬度和经度 是否可以自动执行此操作?是否安全?如何做到这一点 这是我目前拥有并正在使用的数据库 create_table "quests", force: :cascade do |t| t.float "latitude" t.float "longitude" t.string "ad
create_table "quests", force: :cascade do |t|
t.float "latitude"
t.float "longitude"
t.string "address"
t.string "name"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
end
任何帮助都将不胜感激您将在以下内容中找到答案: 您只需将此添加到您的模型中
geocoded_by :address # can also be an IP address
after_validation :geocode # auto-fetch coordinates
希望有帮助 如果将rails应用程序用于Web应用程序,则需要从用户浏览器获取坐标。您可以使用javascript实现这一点
navigator.geolocation.getCurrentPosition(setPositionByBrowserCoordinates) if navigator.geolocation
在回调函数内部(此处setPositionByBrowserCoordinates
),您可以使用获取的坐标设置例如隐藏字段。它们将在提交时发送到您的服务器,然后您可以保存它们
这一切都是自动为用户工作的。用户需要做的唯一一件事就是允许您访问该位置
Mozilla文档: