为何选择HTML5地理定位?

时间:2011-09-24 20:40:00

标签: html5 geolocation

为什么HTML5地理位置可让您分享您的位置?使用地理位置的主要目的是什么,因为您也可以获得具有IP地址的位置。这两种方法有什么区别吗?

我问,因为地理定位需要用户的许可,并且不适用于所有浏览器。

6 个答案:

答案 0 :(得分:13)

HTML5 GeoLocation往往比基于IP的GeoLocation更准确

基于IP的GeoLocation依赖于与ISP相关联的数据库来确定您的位置。当您的ISP服务于非常大的区域并提供动态IP地址时,这不起作用。今天一个城镇的地址明天可能会在100英里外。此外,这些数据库通常不经常更新。如果您的ISP出售IP块或将其移至新城镇,数据库可能仍会错误地认为您在其他地方。

HTML5位置使用浏览器提供的服务来确定您的位置。如果您的计算机内置GPS(例如在许多移动设备和某些笔记本电脑上),它将完全知道 您所在的位置。这使得它对具有导航或位置组件的webapp更有用。对于没有GPS的设备,它通常可以根据附近已知的无线信号和其他因素提供非常好的近似值,例如跟踪计算机在连接​​到互联网时经过的路由器。确切的实现取决于计算机,可用的硬件以及浏览器选择的操作方式。

例如,当我检查一个基于IP的位置服务时,它说我在一个特定的大城市和我住在同一个大区,但它实际上距离大约50英里。  当我使用基于HTML5位置的服务来确定我的位置时,它只有大约20个

如果您正在开发需要位置数据的网络应用,那么尝试使用HTML5 GeoLocation 。设置回退,以便如果 HTML5位置失败,您可以使用GeoIP解决方案。这样,您将在支持的浏览器和设备上获得最佳准确度,但是当HTML5数据不可用时,仍然会有适当的解决方案。

如果您使用geolocation-javascript project from Google Code,则可以使用以下代码:

//determine if device has geo location capabilities
if(geo_position_js.init()){
   geo_position_js.getCurrentPosition(success_callback,error_callback);
}
else{
   // use an AJAX request to look up the location based on IP address
}

答案 1 :(得分:8)

地理位置比批次比IP地址更精确,但两者都可以伪造。

IP地址只为您提供国家和一般地区。

地理位置为您提供:

  • 地理坐标(纬度和经度)
  • 速度(假设您使用可以测量此功能的设备;大多数平板电脑和智能手机都可以)
  • 海拔高度(这也取决于设备)
  • 从北向顺时针方向(再次,假设设备支持此情况)

http://diveintohtml5.ep.io/geolocation.html有一些关于地理位置和HTML5地理位置API的好信息。 Here's W3C候选推荐。

答案 2 :(得分:2)

您将看到的主要区别在于准确性。 IP地址只能让您非常了解某人的位置......地理位置会告诉您确切的位置。要了解有关地理定位的更多信息,请转到here,并找到有关其准确程度的演示here

答案 3 :(得分:2)

通过IP地址获取用户的位置远远不够准确。 IP地址的位置主要基于可以请求的实际服务器的位置。这通常远离实际用户的位置,因此它只提供基本区域。

另一方面,HTML5地理定位更精确,但用户的信息用于确定位置,并且通常还会加速其他一些事情。这基于设备的GPS(如果可用),以及用户输入的信息。显然,这更准确。这两种方法都可以伪造。

答案 4 :(得分:2)

通过IP地址获取位置只能提供一个模糊的位置(它很少比城镇更准确,而且往往远不如此,具体取决于您的位置和ISP)。

有时也完全不准确:如果我使用VPN连接到我的公司网络,我会出现在办公室,因为我将从办公室获得IP地址,但我实际上可以从任何地方连接在世界上。

HTML5地理定位可以更加准确 - 如果您的设备中有GPS接收器,那么它就完全准确,但即使没有这样,在人口密集的地区,它也能以20米或更低的精度获得您的位置通过映射本地无线网络信号。无论你如何联系,它都将是准确的。

由于HTML5地理定位非常准确,因此被视为隐私风险,因此规范规定您必须在网站使用您的凝胶定位数据之前提供权限。此外,并非所有浏览器或机器都能够提供凝胶定位数据。因此,该网站必须能够应对不提供该网站的用户,并且不能依赖于提供该网站。

IP地址位置没有这种限制,因为位置映射是由服务器使用公共可用的IP位置映射数据完成的。最终用户无法避免提供他们的IP地址,因此他们无法阻止网站使用它进行映射。

所以两者完全不同。

答案 5 :(得分:1)

HTML5地理定位使客户端(浏览器)可以提供机器的位置信息。这可能比IP位置更准确。例如,客户端可以安装实际的GPS硬件,或者能够通过GSM或WiFi点对位置进行三角测量。另一方面,IP的位置非常粗糙,介于两者之间并不总是准确和误导。