数字立方HTML5精品教程-地理位置定位原理及应用

HTML5 地理位置定位(Geolocation)原理及应用简介:

HTML5数字力帆教程

地理位置(Geolocation)是 HTML5 的重要特性之一,提供了确定用户位置的功能,借助这个特性能够开发基于位置信息的应用,使得开发人员不用借助其他软件就能轻松实现位置查找,地图应用,导航等功能,具有划时代的意义!

适用情况:

截止目前,支持它的浏览器:
IE Firefox Safari Chrome Opera iPhone/iPad Android
9.0+ 3.5+  5.0+  5.0+  3.0+  2.0+

1. GPS

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

A. 优点:在空旷地区比较准确,覆盖面比较广

B. 缺点:需要比较长时间定位,比较耗电池,在室内不太好,需要GPS设备支持

2. WIFI

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

A. 优点:比较准确,适用于室内环境,相应速度快

B. 缺点:在wifi热点少的地方不适用

3. IP定位

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

4.手机基站

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

代码实现:

1.核心对象

①Geolocation是window.navigator下面的一个对象,该对象提供了实现地理位置定位的接口。

②要用该功能首先判断浏览器是否支持navigator.geolocation该对象。

2.Geolocation对象详解

①getCurrentPosition(success,error,options)该方法是实现地理定位的核心方法,该方法能够对获取到的信息作出处理以及设置。

A.success(position) 获取信息成功的回调函数

B.error(errorcode)获取信息失败的回调函数

C.options获取信息前可以按照你的需求来设置一些参数
 

HTML5 地理位置定位(Geolocation)原理及应用

1. success(position) 获取信息成功的回调函数

①当成功获得信息的时候,会自动调用success函数,而这个函数会自动生成一个包含返回地理信息的position对象,如下:

A.coords.latitude(纬度)

B.coords.longitude(经度) 

C.coords.altitude(海拔) 

D.coords.accuracy(位置精确度) 

E.coords.altitudeAccuracy(海拔精确度)

F.coords.heading(朝向) 

G.coords.speed (速度)

H.timestamp(响应的日期/时间)
 

1. error(errorcode)获取信息失败的回调函数

A. 地理信息会因为各种因素,例如信号不好等等而出错。因此当获取信息失败的时候会自动调用getCurrentPosition的第二个参数,即error函数,这个函数会自动生成一个包含错误代码和错误信息的对象作为其参数,code是错误代码,message是错误信息。

switch(errorcode.code){

case 1 :

alert(errorcode.message);//用户选了不允许

break;

case 2:

alert(errorcode.message);/连不上GPS卫星,或者网络断了

break;

case 3:

alert(errorcode.message);//超时了

break;

default:

alert(errorcode.message);//未知错误,其实是err.code==0的时候

break;

}

 

1. options 设置一些参数

①options是一个对象,可以设置超时时间、缓存时间等,如下:

A.enableHighAccuracy 表示是否允许使用高精度,但这个参数在很多设备上设置了都没用,设备综合考虑电量、地理情况等,很多时候都是默认的由设备自身来调整。

B.timeout  指定超时时间

C.maximumAge 是指缓存的时间

 

此外 geolocation 还有两个方法:

1.watchPosition(success,error,options) 表示重复获取地理位置,相当于将getCurrentPosition这个方法利用setinterval不断执行,其他用法和参数使用一样。

2.clearWatch()用来清除前一次获取的位置信息。

这个两个方法配合使用,能够实现一些很棒的功能,比如说:导航等!

 本信息来源于:成都数字立方信息技术有限公司 www.028cube.com 网站建设网站设计成都网站建设成都网站制作网站建设公司网站设计公司

微信网站建设分享 新浪网站建设分享 微博网站建设分享 空间网站建设分享

028-62319127    13408678913

扫描二维码
与销售顾问咨询

立即咨询
关闭