我知道如何使用IP号确定用户的位置。但是,我想知道是否有更精确的技术。我见过一些应用程序,例如。 Google MAPS要求用户获取其位置的许可。有某种这样的API吗?我错过了什么吗?
非常感谢!
答案 0 :(得分:3)
我所知道的唯一通用,更精确的方法是HTML 5 geolocation API。该API有时可以通过扫描附近的无线网络及其ID来获取更精确的位置,或者查询连接到计算机的GPS设备(或者像@Pascal所说,内置于移动设备中的GPS设备,如iPhone)。
但这仅适用于计算机具有正确硬件且需要用户明确同意的情况。
对于无用户同意的服务器端地理位置,基于IP的方法仍然是您可以做到的最佳方法。
请参阅此问题,了解其工作原理:About Geolocation in HTML 5
答案 1 :(得分:1)
那将是geolocation API。
答案 2 :(得分:1)
答案 3 :(得分:1)
某些设备(通常是智能手机)有一个GPS - 这意味着相当精确的位置 - 或者可以使用wifi / cell-towers / ...
您无法在服务器上获取该位置(它不是由浏览器发送的),但您可以从Javascript 获取它(然后,使用某些Ajax将其发送到服务器)。
对于某些文档,您可以查看:
答案 4 :(得分:1)
似乎是HTML5中的GeoLocation问题http://ipgeo5.com/
昨天我在蒙特利尔工作,完美地确定了我目前的位置,最近的30英尺(估计)。运行Windows XP,Chrome 14.0.835。
今天,我在加拿大安大略省一个小镇的妈妈家里,发现了这个错误。
您当前的位置 我们估计你位于 注意:未定义的属性:第29行的/var/www/ipgeo5.com/pages/city.php中的stdClass :: $ AdministrativeArea
注意:尝试在第29行的/var/www/ipgeo5.com/pages/city.php中获取非对象的属性 ,,加拿大使用HTML 5 Geolocation技术。 你的位置:
注意:未定义的属性:第29行的/var/www/ipgeo5.com/pages/city.php中的stdClass :: $ AdministrativeArea
注意:尝试在第29行的/var/www/ipgeo5.com/pages/city.php中获取非对象的属性
所以我猜这不是100%有效!
因此需要使用IP2Location数据库来确定位置的计划B.
谢谢!
Michel,蒙特利尔,加拿大