Geolocation API(地理位置API)属于专业较强的一门技术,本节将对其进行一些详细介绍,并辅以代码讲解。若有读者想了解更详细的资料,可以根据情况,多作一些试验,多查阅相关标准手册。
1. Geolocation API的应用
Geolocation API能够将用户所在地理位置信息发送给用户许可的站点,而站点可以利用这些信息为用户提供位置相关的服务,例如显示用户位置、寻找周边商家、导航行车路线等。
2. 地理位置的获取方式
获取地理位置的方式有很多种,虽然因获取方式的工作原理不同,它们有非常明显的精度差异,但是在实际工作环境中,又有各自的优点和不足,本文将分别介绍各种获取方式。
IP地址
这是一种比较不准确地获取地理位置的办法,很多时候获取的是ISP机房的位置,但是获取非常方便,没有什么限制。大多数时候,IP地址还是比较准确的,基本上能精确到某个小区或某个大楼,但是如果用户使用代理或者VPN,就可能导致非常大的偏差。
GPS
这是一种非常准确地获取地理位置的方法,GPS的精度可以达到10米左右。如果用来找人或者找建筑,基本上都在目视范围内。但是使用GPS还有一些限制:在室内使用时,信号不太稳定,搜索卫星的时间较长,会造成延时。使用GPS最大的障碍是:很多设备(比如笔记本电脑)基本上都不带GPS,而只有智能手机才有。
Wi-Fi基站
连接位置已知的公共Wi-Fi时,可以获得地理位置信息。这种定位的精度比较不错,而且还可以在室内定位。不过由于位置公开的Wi-Fi比较少,此种方法的适用范围比较少。从目前的各类科技新闻来看,北京、上海、广州将率先建立公共Wi-Fi基站,北京甚至在公交车上都已经设立Wi-Fi基站,这些也可以考虑到未来的应用中。
GSM或CDMA基站
通过电话局基站定位,定位精度随基站密度变化,精度非常一般,而且只有手机才能使用,并且地理位置信息往往不太精确。
综上所述,Geolocation API在移动设备上比较实用,而在个人电脑上常用于电子地图查询。
3. 地理位置获取流程
由于地理位置信息涉及个人隐私,是受到法律保护的,因此,每当用户在使用地理位置信息时,提供地理位置获取服务的软件都应该遵守地理位置获取的技术流程,经由用户同意,才可以获取信息。在桌面浏览器上,此技术流程大致如下(在移动设备非浏览器环境下会略有差异):
(1) 用户打开需要获取地理位置的Web应用;
(2) 应用向浏览器请求地理位置,浏览器弹出询问窗口,询问用户是否共享地理位置;
(3) 假设用户允许,浏览器从设备查询相关信息;
(4) 浏览器将相关信息发送到一个信任的位置服务器,服务器返回具体的地理位置。
如果您觉得本文的内容对您的学习有所帮助:
关键字:
HTML