web定位知识

基于工作中了解到的一些知识,以及网络博客,介绍一下web定位的知识。

定位原理

1.GPS定位。

GPS基本原理是测量出已知位置的卫星到用户接收机之间的距离,然后综合多颗卫星的数据就可知道接收机的具体位置。适用于具备GPS功能的设备。

  • 优点:在空旷地区比较准确,覆盖面比较广
  • 缺点:需要比较长时间定位,比较耗电池,在室内不太好,需要GPS设备支持。
2.WIFI定位

地理定位服务提供者会在全世界范围内去收集WIFI热点的位置信息,然后用户的设备只要能支持WIFI就能获取到周围WIFI热点的位置和信号强弱信息,然后把这些信息发给服务提供者就能得到自己的位置。

  • 优点:比较准确,适用于室内环境,响应速度快
  • 缺点:在wifi热点少的地方不适用
3.IP定位

原理很简单,就是通过你设备的物理地址所备案的地址信息来定位,但这种方式精确度不高,特别是用代理来上网的情况下。一般作为GPS和WIFI都不支持的情况下大致模糊匹配,比如各大团购网站检测用户所在城市。

4.手机基站定位(GSM/CDMA)

和WIFI原理类似,Apple的设备就是把WIFI和基站信息结合起来进行定位。

web可用的定位方法

以上是定位原理,适用于web的只能是web所能获取到的信息范围内的,js本身无法获取到wifi列表和基站,就排除了基站和WiFi定位

浏览器定位

Web API提供了获取设备当前位置的接口,navigator.geolocation.getCurrentPosition,各大浏览器均有实现。所以浏览器本身具有的定位功能,Chrome需要https协议下才能定位。相对ip定位较准确。

ip定位

通过给服务端发送http接口,服务端根据请求的ip地址查询ip库,返回位置信息。

第三方桥定位(webview场景)

嵌入app中的webview,可以引入一些第三方库(桥),具有调用原生设备定位接口的能力

参数定位(webview场景)

原生在获取定位信息之后,通过参数形式将定位结果拼接到嵌入的html的url中,js通过url信息获取定位信息