HTML5 Geolocation API 不指定设备使用哪种底层技术来定位应用程序的用户。相反,它只是用于检索信息的 API ,而且通过该 API 检索到的数据只具有某种程度的准确性。它并不能保证设备返回的实际位置是精确的。
在 HTML5 Geolocation API 之前,基于 IP 地址的地理定位方法是获得位置信息的唯一方式,但其返回的位置信息通常并不靠谱,基于 IP 地址的地理定位的实现方式是,自动查找用户的 IP 地址,然后检索其注册的物理地址。因此,如果用户的 IP 地址是 ISP 提供的,其位置往往就由服务供应商的物理地址决定,该地址可能距离用户数千米。
优点:
缺点:
GPS 定位是通过收集运行在地球周围的多个 GPS 卫星的信号实现的,但 GPS 定位时间可能较长,因此它不适合需要快速响应的应用程序。因为获取 GPS 定位数据需要时间可能较长,所以开发人员可能需要异步查询用户位置。
优点:比较精确。
缺点:
基于 Wi-Fi 的地理定位信息是通过三角距离计算得出的,这个三角距离指的是用户当前位置到已知的多个 Wi-Fi 接入点的距离。不同于 GPS , Wi-Fi 定位在室内也非常准确。
优点:
缺点:
基于手机的地理定位信息是通过用户到一些基站的三角距离确定的。这种方法可提供相当准确的位置结果。这种方法通常同基于 Wi-Fi 和基于 GPS 的地理定位信息结合使用。
优点:
缺点:在基站较少的偏远地区效果不好。
除了通过编程计算出用户的位置外,也可以允许用户自定义其位置。应用程序可能允许用户输入它们的地址、邮政编码和其它一些详细信息。应用程序可以利用这些信息来提供位置感知服务。
优点:
缺点:可能不准确,特别是当用户位置变更后。