HTML5 Geolocation API
在HTML5中新增了Geolocation API方便用户定位,获取地理位置信息。通过设备获取地理位置可以通过以下方式:
1、IP地址
2、三维坐标(GPS全球定位系统、从RFID、Wi-Fi到Wi-Fi的MAC地址、GSM或CDMA手机的ID)
3、用户自定义数据
1、IP地址地理定位数据
实现方式是:自动查找用户的IP地址,然后检索其注册的物理地址。如果用户的IP是ISP(互联网服务提供商)提供
的,获取的位置就由服务供应商的物理地址决定,该地址可能距离用户数千米。
优点:任何地方都可以使用;在服务器端处理;
缺点:不精确(经常出错,一般精确到城市级);运算代价大;
2、GPS地理定位数据
只要可以看到天空的地方,都可以使用GPS获取非常精确的定位结果。GPS定位是通过收集运行在地球周围的多个GPS卫星信号实现的。
但是定位时间可能会很长,所以不适合需要快速响应定位的应用程序,开发人员可能需要异步查询用户位置。
优点:很精确
缺点:定位时间长,耗电量大,室内效果不好,需要额外的硬件设备。
3、Wi-Fi地理定位数据
基于WiFi地理定位信息时通过三角计算得出的,这个三角距离是指用户当前位置到已知的多个WiFi接入点的距离。不同于GPS,WiFi定位在室内
也很精确
优点:精确,可在室内使用,可以简单、快捷定位;
缺点:在乡村等无线接入点较少的地区效果不好。
4、手机地理定位数据
基于手机的地理定位信息时通过用户到一些基站的三角距离确定的。这种方法可以提供比较准确的位置结果。通常同基于WiFi和基于GPS的地理定
位信息结合使用。
优点:相当精确,可在室内使用,可以简单、快捷定位
缺点:需要能够访问手机或其modem的设备,在基站较少的偏远地区效果不好
5、用户自定义的地理定位数据
除了通过编程计算出用户的位置外,也可以允许用户自定义其位置。程序可能允许用户输入他们的地址、邮政编码和其他一些详细信息。利用这些信息提供位置感知服务。
优点:用户可以获得比程序定位更准确的位置数据,
允许地理定位服务的结果作为备用位置信息,
用户自行输入可能比自动检测更快
缺点:可能很不准确,尤其是当用户位置变更后