gpt4 book ai didi

javascript - 如何获取模型中用户的经纬度

转载 作者:行者123 更新时间:2023-12-02 15:07:03 25 4
gpt4 key购买 nike

我打算在验证当前用户是否位于某个区域后执行一些 ruby​​ on Rails 代码。我的问题是,当使用 request.location 值时,我得到的纬度和经度与我从谷歌地图获得的纬度和经度不符。 还有其他方法来获取用户位置吗?我想避免使用 javascript 代码,因为我需要在某些位置条件后编辑 ruby​​ 模型,并且我已经为此奋斗了一段时间。

顺便说一句,我正在使用 devise 作为用户模型。

我的用户模型有一个名为 signed_in 的字段,它是一个 bool 值,用于存储用户是否仅在一个指定区域登录。

class User < ActiveRecord::Base

def is_at_place(lat, lon)
#place = [-17.792365,-63.182531] #this is the actual place
place = [-17.0000, -63.0000] #this is my home
delta = 0.003000
#latitude range
rlat = (place[0]+delta)..(place[0]-delta)
#longitude range
rlon= (place[1]+delta)..(place[1]-delta)
if rlat.include?(lat) and rlon.include?(lon)
return true
else
return false
end
end

def set_signed_in(latitude, longitude)
if is_at_place(latitude, longitude)
user = User.find(session["warden.user.user.key"][0][0])
user.signed_in = true
user.save
flash.alert = "Succesfully logged in"
else
flash.alert = "Succesfully logged in but as a outside user"
end
end

我需要将纬度和经度传递给用户模型中的 set_signed_in 方法。

最佳答案

我不知道你想要手机版还是电脑版。

在移动设备上,您将能够获得准确的位置,在计算机上,Mac 可以使用 WiFi 获得更精确的位置,但大多数计算机不会。

问题是,如果您的服务器可从外部访问,这将是一个安全问题,因为位置欺骗很容易。

我猜这是一个小型个人网站,如果自动登录会更安全,您可以使用您的连接 IP 并在此基础上登录。

关于javascript - 如何获取模型中用户的经纬度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35050571/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com