我想通过访问用户city
显示DB
的结果,我有两个想法。
-
首先要求用户在第一次访问网站时使用
javascript
弹出框选择那里的位置并将其存储在cookie中以供进一步访问。 -
第二个选择是使用
IP to Location
api自动获取当前用户位置并使用php存储cookie。
我不确定哪一个是最好的,第二个选项不是100%
准确,因为IP到位置可以给你一些错误的结果。
伙计们,请告诉我你们要走哪条路?我应该在cookie中存储什么数据?
任何免费的API,你喜欢得到当前城市的用户
有几种方法,包括您所指出的方法。实现多种方法以获得最准确的结果是一个好主意。
在我们最近完成的一个项目中,我们试图检测用户的位置,并在站点的标题中向他们显示该信息,如果我们的检测不准确,用户可以选择单击并更改它,以便他们可以提供正确的位置。我们实现了以下方法:
-
HTML5地理定位。此信息由用户提供浏览器,但它也会提示用户询问他们是否我不想提交这些信息(至少在Firefox中是这样的)
PHP GeoIP 。这是服务器端,通常会给出结果精确到一个城市,但并不总是这样。特别是如果用户如果使用移动热点,它可能会检测到他们在另一边吗这个国家。
如果我们不能做出任何检测,无论准确与否,我们都会提示用户输入此信息(此特定应用程序是依赖于这个信息,所以没有能力继续
我建议两个选项的组合。
首先,使用IP地理定位API(如IPInfoDB.com)来检测IP地址的位置。
接下来,向用户提供信息,并要求他们在位置错误时进行更新。
在这种情况下,您将始终获得用户的位置